使用Yii的CGridView小部件我想在数据网格中显示来自两个或更多数据库表的数据,如
使用小部件
在dataGrid中显示订单和客户信息任何想法?
提前致谢。
答案 0 :(得分:0)
您可以使用模型的关系属性和' /'过滤器'来显示相关数据。 CGridView列的属性。例如,假设每个订单都有一个'客户'在模型的关系只读属性中定义的关系。您可以轻松地显示两个表中的信息,假设$ model是订单模型的搜索实例。
$this->widget('zii.widgets.grid.CGridView',array(
'id' => 'order-grid',
'itemsCssClass' => 'dataGrid',
'dataProvider' => $model->search(),
'filter' => $model,
'columns' => array(
'order_number',
array(
'name' => 'customer_id',
'value' => '$data->customer->first_name . " " . $data->customer->last_name',
'filter' => Html::listData(Customer::model()->findAll(),'id','name'),
),
...
));
这假定您要使用下拉列表作为过滤器。您可以使用其他过滤器,或者您可以自定义过滤到dataProvider方法。