Array_multisort завершается ошибкой, если дата равна

я использую yii рамки и использование CArrayDataProvider потому что мой поставщик данных содержит 3 таблицы. Но если я использую Sort в этом.

$sort = new CSort;
$sort->defaultOrder = 'created DESC';
$dataProvidermain=new CArrayDataProvider($data, array(
'id'=>'user',
'sort' => $sort,
'pagination'=>array(
'pageSize'=>20,
),
));

Это выбрасывает ошибку

Неустранимая ошибка: уровень вложенности слишком глубокий — рекурсивная зависимость? в
/var/www/goalsurf/framework/web/CArrayDataProvider.php в строке 151

После отладки я узнал, что он выдает эту ошибку, когда дата 2 или более элементов совпадают. У меня есть три лица с одинаковой датой.2016-02-06 10:10:51, Если я изменить дату 2 записи, это работает. Пытаюсь решить это за последние 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());

4

Решение

Попробуй это: $sort->defaultOrder = 'created DESC, id ASC';

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]