Страница 1 из 1

CArrayDataProvider и сортировка

Добавлено: 2012.09.26, 20:49
kraken
Сортируя по полю date в случае если встречаются одинаковые даты то ловлю ошибку "Nesting level too deep - recursive dependency? in /srv/http/site.ru/framework/web/CArrayDataProvider.php on line 142" (call_user_func_array('array_multisort', $args);)
при вызове кода

Код: Выделить всё

 $this->widget('zii.widgets.CListView', array(
                                        'dataProvider'=>$photoDataProvider,
                                        'itemView'=>'_photo',  
                                        'viewData' => array('musician' => $musician),
                                        'itemsCssClass' => 'photoItems',
                                        'itemsTagName' => 'section',
                                        'sortableAttributes'=>array(
                                            'publication_date' => 'Дата',                                        
                                        ),
                                    ));
В случае если до вывода виджета CListView выполнить

Код: Выделить всё

Yii::trace(CVarDumper::dumpAsString($photoDataProvider));
То ошибка как то обходится

Re: CArrayDataProvider и сортировка

Добавлено: 2012.09.26, 21:06
kraken
Может кто встречался с подобным? Как это обходится?

Re: CArrayDataProvider и сортировка

Добавлено: 2012.09.27, 12:23
DropSQL
продебажте, посмотрите в чем дело,например что находится в $photoDataProvider, $musician и не маловажно в $args (там где ошибка)

CArrayDataProvider и сортировка

Добавлено: 2012.10.20, 06:09
Neweroyatno
Вы можете указывать несколько условий, по которым сортировать, например:
ORDER BY age DESC, name DESC

В данном случае, сортировка будет происходить в первую очередь по полю "age" по убыванию. При одинаковых значениях этого поля будет происходить повторная сортировка этих элементов по полю "name" по убыванию.
к стате сборнмк программ WPI