0
私はこのDataProviderを使ってCGridViewウィジェットを供給していますが、列はまだクリック可能ではなく、並べ替えもできません。
ここで何が問題なのですか?CGridViewウィジェット、Yiiの関連する列を並べ替えることができません。
コントローラー:
$dataProvider = new CActiveDataProvider('SubscriberAuthor', [
'criteria' => [
'with' => [
'subscriber' => [ 'select' => 'name, email' ]
],
'condition' => "author_id = {$author_id} And verified = 1"
],
'sort' => [
'attributes' => [
'name'=> [
'asc'=>'subscriber.name Asc',
'desc'=>'subscriber.name Desc',
],
'email'=> [
'asc'=>'subscriber.email Asc',
'desc'=>'subscriber.email Desc'
]
]
],
'countCriteria' => [ 'condition' => "author_id = {$author_id} And verified = 1" ]
]);
ビュー:
$this->widget('zii.widgets.grid.CGridView', [
'dataProvider' => $dataProvider,
'enableSorting' => true,
'columns' => [ 'subscriber.name', 'subscriber.email' ]
]);
をはい、それは、テーブルとリレーション名の両方の 'subscriber'は、モデル名は' Subscriber' – Petruza
ああですが、実際に私にインスピレーションを与え解決策に終わったものを試してみてください。ありがとう! – Petruza
@Petruzaもし私の答えが役に立つなら、それをレートしてください – scaisEdge