Yii CGridView сортировка и поиск по таблице отношений

У меня есть 3 таблицы в моей базе данных,

Изображение ниже, я следовал http://www .yiiframework.com/wiki/281/searching-and-sorting-by-related-model-in-cgridview/

, чтобы получить окончательную сетку с целью поиска и сортировки. поэтому я подключил 2 таблицы в функции search() , например

public function search()
 {
 // Предупреждение. Измените следующий код, чтобы удалить атрибуты, которые
 // не следует искать.

 $criteria=новый CDbCriteria;

 $criteria->with = array('bposite');
 $критерии->вместе = ложь;
 $criteria->with = массив('клиент');
 $criteria->compare('id',$this->id);
// $criteria->compare('client_id',$this->client_id);
// $criteria->compare('bposite_id',$this->bposite_id);
 $criteria->compare('userid',$this->userid,true);
 $criteria->compare('пароль',$this->пароль,true);
 $criteria->compare('bposite.name', $this->bposite_search, true );
 $criteria->compare('client.name', $this->client_search, true);


вернуть новый CActiveDataProvider($this, array(
 'критерии'=>$критерии,
 'сортировать'=>массив(
 'атрибуты'=>массив(
 'client_search'=>массив(
 'asc'=>'client.name',
 'desc'=>'client.name DESC',
 ),
 'bposite_search'=>массив(
 'asc'=>'bposite.name',
 'desc'=>'bposite.имя DESC',
 ),
 '*',
 ),
 ),
 ));
 }
}

Но я получаю результат для клиента, поиск и сортировка bposite показывают проблему вроде

>     Error 500: 

CDbException

>

CDbCommand failed to execute the SQL statement: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'bposite.name' > in 'where clause'. The SQL statement executed was: SELECT > COUNT(DISTINCT `t`.`id`) FROM `clientbposites` `t` LEFT OUTER JOIN > `client` `client` ON (`t`.`client_id`=`client`.`id`) WHERE > (bposite.name LIKE :ycp0) > (D:\wamp\www\yi\framework\db\CDbCommand.php:516)

#0
> D:\wamp\www\yi\framework\db\CDbCommand.php(411):
> CDbCommand->queryInternal('fetchColumn', 0, Array)

how can implement non-related table with cgridview search and sort options.

My database table and result girdview

5
задан dInGd0nG 24 May 2012 в 10:52
поделиться