0
商業模式:Yii按關係排列HAS_MANY
一張發票可以有多個狀態(草稿,進行中,發送,刪除)。
在CGridView我想最後的狀態
$this->widget('zii.widgets.grid.CGridView', array(
'id'=>'carriage-grid',
'dataProvider'=>$model->search(array(
'completed'=>true,
'pagination'=>true,
)),
'filter'=>$model,
'columns'=> [
array(
'name'=>'InvoiceName',
'type'=>'raw',
'value'=>$model->InvoiceName,
),
array(
'name' => 'InvoiceStatus',
'value' => $model->InvoiceStatus->Name,
),
]
)); ?>
在發票模型顯示發票我得聲明關係:
'status'=>array(self::HAS_MANY, 'InvoiceStatus', 'invoice_id'),
在CGridView數據顯示是正確的,但是當我試圖通過InvoiceStatus->name
訂購
我得到:
(BY ASC)
- 發票名稱+第一狀態
- 發票名稱2 +第一狀態
(BY DESC)
- 發票名稱+最後的狀態
- 發票名稱2 +最後的狀態
我希望得到:
(BY ASC)
- 發票名稱+ A狀態
- 發票名稱2 + B狀態
(BY DESC)
- 發票名稱2 + B狀態
- 發票名稱1 + A狀態
意思,我想訂購的所有記錄,不僅地位,並始終顯示上次的狀態