4
我使用yii
框架和使用CArrayDataProvider
,因爲我的數據提供程序包含3個表。但如果我在此使用Sort
。Array_multisort失敗,如果日期相等
$sort = new CSort;
$sort->defaultOrder = 'created DESC';
$dataProvidermain=new CArrayDataProvider($data, array(
'id'=>'user',
'sort' => $sort,
'pagination'=>array(
'pageSize'=>20,
),
));
它引發錯誤
Fatal error: Nesting level too deep - recursive dependency? in /var/www/goalsurf/framework/web/CArrayDataProvider.php on line 151
調試後,我才知道,當2種或多個元素的日期是相等的,它是引發此錯誤。我有三個具有相同日期的實體。 2016-02-06 10:10:51
。如果我更改2條記錄的日期,那麼它正在工作。試圖從過去兩天解決這個問題。搜索谷歌,但沒有解決方案。
請幫助我。
更新 這是陣列形式
[68] => Tasks Object
(
[taskmodel] => 1
[quickacent] => 15
[dailygoal] =>
[weeklygoal] =>
[dailygoal2] =>
[_new:CActiveRecord:private] =>
[_attributes:CActiveRecord:private] => Array
(
[id] => 563
[guid] => 650c7572-3fae-4f9a-a476-8de6a21c329e
[user_id] => 44
[deli_id] => 0
[branch_id] => 0
[main_goal_id] => 0
[title] => Buy Babycon Dress
[thumb_ext] =>
[description] =>
[ecv] =>
[isSpam] => 0
[displayorder] => 0
[created] => 2016-02-06 10:10:52
[modified] => 2016-02-06 10:10:52
)
)
)
更新2
我$data
變量是
$dataProvider=new CActiveDataProvider('Goals', array('criteria' => $criteria,'pagination'=>false));
$dataProvider2=new CActiveDataProvider('Tasks', array('criteria' => $criteria2,'pagination'=>false));
$dataProvider3=new CActiveDataProvider('TasksDaily', array('criteria' => $criteria2,'pagination'=>false));
//echo "<pre>"; print_r($dataProvider2->getData()); die;
$data=array_merge($dataProvider->getData(),$dataProvider2->getData(),$dataProvider3->getData());
'$ sort'調用'$ sort',這使得'$ sort'遞歸,所以這就是它拋出這個錯誤的原因。也許找出'$ sort'的其他名字? –
我將變量名稱從'$ sort'更改爲'$ sortvariable',但沒有更改 – MKD
您可以發佈有問題的數組格式的數據 –