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

Предварительное обсуждение найденных ошибок перед отправкой их авторам фреймворка, а также внесение новых предложений.
Ответить
kraken
Сообщения: 8
Зарегистрирован: 2011.12.27, 08:01

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

Сообщение 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));
То ошибка как то обходится
kraken
Сообщения: 8
Зарегистрирован: 2011.12.27, 08:01

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

Сообщение kraken »

Может кто встречался с подобным? Как это обходится?
DropSQL
Сообщения: 102
Зарегистрирован: 2010.02.19, 22:20
Откуда: Киев

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

Сообщение DropSQL »

продебажте, посмотрите в чем дело,например что находится в $photoDataProvider, $musician и не маловажно в $args (там где ошибка)
Neweroyatno
Сообщения: 2
Зарегистрирован: 2012.10.17, 07:47
Откуда: Россия
Контактная информация:

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

Сообщение Neweroyatno »

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

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