1
使用Propel ORM(1.6.5)時,當我將join()與表「A」連接到表「B」,然後在結果PropelObjectCollection上調用toArray()時,條目對於每個A記錄中的B包含A的所有記錄(請參見下面的dump)。在Propel ORM的左連接中加入遞歸問題
上殘留JOINd到B的每條記錄在一個點中只有一個B.代碼我使用:
$oAQuery = AQuery::create()
->joinB('b', Criteria::LEFT_JOIN)
->useBQuery()
->_if(strlen($sB))
->filterByBField1(str_replace(' ', '%', $sCity))
->_endif()
->endUse()
->with('b');
$oCollection = $oAQuery->find();
$aArray = $oAQuery->toArray();
指定者()轉儲:
Array
(
[0] => Array
(
[Field1] => 29
[Field2] => 0
[B] => Array
(
[BField1] => 7
[BField2] => 10
[As] => Array
(
[A_0] => *RECURSION*
[A_1] => Array
(
[Field1] = 234
[Field2] = 3424
...
我想停止這主要是因爲有很多記錄和遞歸我很容易超過PHP的512m memory_limit(我甚至做了2048m的測試,仍然超過了)