我有客户[1-> N]交付
在客户的_view中,我想要与我的客户相关的交付
这是在我的ClientController
中public function actionView($id)
{
$client = $this->loadModel($id);
$delivery_provider = new CActiveDataProvider(
'Delivery',
array (
'criteria' => array (
'condition' => 'client_id = :c_id',
'params' => array (':c_id' => $client->id),
), // fine dei criteri
) // fine array di definizione cactiveprovider
); // fine del CActive provider
$this->render('view',array(
'model'=> $client,
'delivery_provider' => $delivery_provider,
));
}
然后modules / admin / views / client / _view.php我添加我的CGridView。 ......但是......它不可搜索,也不可分类(但是分页有效......)
如何进行?
答案 0 :(得分:1)
由于交付是一种模式,因此最好使用CActiveRecord::search()
。如果您使用Gii
,则会自动为您生成此方法。
要进行搜索,您必须使用$this->setAttributes($_GET['Delivery']);
来捕获搜索表单/过滤器的结果,前提是您的输入的名称为Delivery[attribute_name]
。
public function actionView($id){
$client = $this->loadModel($id);
$delivery = new Delivery('search');
if(isset($_GET['Delivery']))
$delivery->setAttributes($_GET['Delivery']);
$delivery->client_id=$id;
$this->render('view',array(
'model'=> $client,
'delivery_provider' => $delivery->search(),
));
}