douye6812 2016-03-06 19:29
浏览 45
已采纳

Yii按关系列HAS_MANY排序

Business model:

One invoice can have can have multiple status (Draft, in progress, send, deleted).

In CGridView I want display invoices with last status

$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,
    ),
    ]
)); ?>

In invoice model I have declared relation:

'status'=>array(self::HAS_MANY, 'InvoiceStatus', 'invoice_id'),

In CGridView data displayed is correct, but when I try to order by InvoiceStatus->name

What I get:

(BY ASC)
  1. Invoice name + first status
  2. Invoice name 2 + first status

(BY DESC)

  1. Invoice name + last status
  2. Invoice name 2 + last status

What I expect to get:

(BY ASC)

  1. Invoice name + A status
  2. Invoice name 2 + B status

(BY DESC)

  1. Invoice name 2 + B status
  2. Invoice name 1 + A status

That mean, that I want order all record not only status, and always display last status

  • 写回答

1条回答 默认 最新

报告相同问题?

悬赏问题

  • ¥15 这种微信登录授权 谁可以做啊
  • ¥15 请问我该如何添加自己的数据去运行蚁群算法代码
  • ¥20 用HslCommunication 连接欧姆龙 plc有时会连接失败。报异常为“未知错误”
  • ¥15 网络设备配置与管理这个该怎么弄
  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来