2 CActiveDataProvider в одном контроллере

Предварительное обсуждение найденных ошибок перед отправкой их авторам фреймворка, а также внесение новых предложений.
Ответить
Dismal
Сообщения: 247
Зарегистрирован: 2011.10.16, 13:25

2 CActiveDataProvider в одном контроллере

Сообщение Dismal »

Здравствуйте.

Получаю 2 объекта CActiveDataProvider в одном контроллере

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

$bizcenterDataProvider=new CActiveDataProvider(Bizcenter::model()->type(Bizcenter::TYPE_BIZCENTER));
$tradecenterDataProvider=new CActiveDataProvider(Bizcenter::model()->type(Bizcenter::TYPE_TRADECENTER));
 
type - это scope с параметром

В итоге и $bizcenterDataProvider и $tradecenterDataProvider равны последнему полученному датапровайдеру (в данном случае $tradecenterDataProvider).
Если например поменять их местами, сначала получить $tradecenterDataProvider, а затем $bizcenterDataProvider, то они оба будут равны значению $bizcenterDataProvider
Dismal
Сообщения: 247
Зарегистрирован: 2011.10.16, 13:25

Re: 2 CActiveDataProvider в одном контроллере

Сообщение Dismal »

Сработало вот так:

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

$bizcenter = new Bizcenter();
$bizcenterDataProvider=new CActiveDataProvider($bizcenter>type(Bizcenter::TYPE_BIZCENTER));
$bizcenter = new Bizcenter();
$tradecenterDataProvider=new CActiveDataProvider($bizcenter->type(Bizcenter::TYPE_TRADECENTER));
 
Но непонятно, почему в предыдущем варианте происходит подмена значения. Это баг?
Аватара пользователя
yiijeka
Сообщения: 3103
Зарегистрирован: 2012.01.28, 09:14
Откуда: Беларусь
Контактная информация:

Re: 2 CActiveDataProvider в одном контроллере

Сообщение yiijeka »

Натолкнулся на такое же http://www.yiiframework.ru/forum/viewto ... =3&t=11972
Ответить