Yii Booster Gridview table 加入 table
Yii Booster Gridview table joining table
我想创建一个这样的 table Yii Booster Gridview table
这是我在控制器中的代码:
$rawData=Jobspecs::model()->with('customer')->findAll();
$gridDataProvider=new CArrayDataProvider($rawData, array(
'id'=>'user',
'sort'=>array(
'attributes'=>array(
'id', 'customer',
),
),
));
$gridColumns = array(
array('name'=>'id', 'header'=>'Js No.', 'htmlOptions'=>array('style'=>'width: 60px')),
array('name'=>'WHAT TO PUT HERE TO SHOW CUSTOMER NAME', 'header'=>'Customer Name'),
array(
'htmlOptions' => array('nowrap'=>'nowrap'),
'class'=>'booster.widgets.TbButtonColumn',
'viewButtonUrl'=>null,
)
);
在我的模型中 sapcustomers:
return array(
'customer'=>array(self::BELONGS_TO, 'Sapcustomers', 'customer'),
);
jobspecs 模型
return array(
'cardname'=>array( self::HAS_MANY, 'Jobspecs', 'customer' ),
);
我的观点
<?php
$this->widget(
'booster.widgets.TbGridView',
array(
'type' => 'bordered',
'dataProvider' => $gridDataProvider,
'template' => "{items}",
'columns' => $gridColumns,
)
);
?>
如您所见,我加入了 sapcustomers 和 jobspecs table。我的问题是我需要在 $gridcolums
上放置什么代码来显示来自 table sapcustomer 的客户名称数据。感谢帮助
我认为这对你有用:
$gridColumns = array(
[...]
array(
'name'=>'customer',
'value'=>'$data->customer->name',
'header'=>'Customer Name'
),
);
说明
$data
代表实际行中的Jobspecs-model
。然后你访问相关的 customer
和他的 name
.
我想创建一个这样的 table Yii Booster Gridview table
这是我在控制器中的代码:
$rawData=Jobspecs::model()->with('customer')->findAll();
$gridDataProvider=new CArrayDataProvider($rawData, array(
'id'=>'user',
'sort'=>array(
'attributes'=>array(
'id', 'customer',
),
),
));
$gridColumns = array(
array('name'=>'id', 'header'=>'Js No.', 'htmlOptions'=>array('style'=>'width: 60px')),
array('name'=>'WHAT TO PUT HERE TO SHOW CUSTOMER NAME', 'header'=>'Customer Name'),
array(
'htmlOptions' => array('nowrap'=>'nowrap'),
'class'=>'booster.widgets.TbButtonColumn',
'viewButtonUrl'=>null,
)
);
在我的模型中 sapcustomers:
return array(
'customer'=>array(self::BELONGS_TO, 'Sapcustomers', 'customer'),
);
jobspecs 模型
return array(
'cardname'=>array( self::HAS_MANY, 'Jobspecs', 'customer' ),
);
我的观点
<?php
$this->widget(
'booster.widgets.TbGridView',
array(
'type' => 'bordered',
'dataProvider' => $gridDataProvider,
'template' => "{items}",
'columns' => $gridColumns,
)
);
?>
如您所见,我加入了 sapcustomers 和 jobspecs table。我的问题是我需要在 $gridcolums
上放置什么代码来显示来自 table sapcustomer 的客户名称数据。感谢帮助
我认为这对你有用:
$gridColumns = array(
[...]
array(
'name'=>'customer',
'value'=>'$data->customer->name',
'header'=>'Customer Name'
),
);
说明
$data
代表实际行中的Jobspecs-model
。然后你访问相关的 customer
和他的 name
.