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状态
意思,我想订购的所有记录,不仅地位,并始终显示上次的状态