- стол Книги
- стол Авторы
- стол Authors_Category
В Books
модели имеют соотношение:Yii модели отношений присоединиться
public function relations()
{
return array(
'authors' => array(self::BELONGS_TO, 'Authors', array('author_id'=>'id')),
}
В Authors
:
public function relations()
{
return array(
'authors_category' => array(self::BELONGS_TO, 'Authors_Category', array('author_cat'=>'id')),
}
В Books
DataGridView
я могу получить доступ Authors_Category
поля
$data->authors->authors_category->category_name
Но проблема заключается в сортировке Authors_Category
colums
В Books
модели я сортировочные правило:
return new CActiveDataProvider(
new FraudAlerts(),
array(
'criteria'=>$criteria,
'sort'=>array(
'attributes'=>array(
'category_name'=>array(
'asc'=>'Authors_Category.category_name',
'desc'=>'Authors_Category.category_name DESC',
),
)
)
)
);
Когда я пытаюсь сортировать по Authors_Category
fiels Я получаю ошибку, что col category_name не существует.
Что не так в моих отношениях: Books
модель?
В вашей модели в методе поиска вы должны определить с помощью критериев $ criteria-> with = array ('authors_category'); –