我使用标准yii crud系统创建了一个表单,该系统包含某个帐户上的所有“付费列表”。在每个付费列表中都有某些收件人。 (即约翰可能在“游行中的工人”的薪酬清单中,而suzy则在薪资清单“五月工人”中)。我正在尝试在_view.php中创建一个按钮,允许我重定向到收件人页面和传递他选择的列表(我称之为list_id)的信息。
我一直试图在视图中使用链接完成所有操作。这是在_view.php
<?php
$list_id = $data->id;
echo CHtml::link('Manage',array('recipient/index', 'list_id'=>$list_id));
?>
但是,在我的控制器中,我无法调用$ list_id。我应该以不同的方式做这件事吗?我应该尝试将数据从我的视图传递到控制器吗?
___________________ 编辑
在编辑建议
后,控制器看起来像这样public function actionIndex($list_id)
{
// echo $_GET["id"];
$dataProvider= new CActiveDataProvider('Recipient', array('criteria'=>array(
'condition'=>'list_id = '.$list_id)));
$this->render('index',array(
'dataProvider'=>$dataProvider,
));
}
答案 0 :(得分:1)
Yii已添加对自动操作参数绑定的支持。控制器动作方法可以定义命名参数,其值将从$ _GET由Yii自动填充。
例如:
public function actionIndex($list_id)
您可以使用上面的示例或只使用$ _GET ['list_id']
进行调用答案 1 :(得分:0)
试试这个 -
在视图文件中传递这样的值
echo CHtml::link('Manage',array("recipient/index/list_id/$list_id"));
并且控制器中的索引函数应该是这样的: -
public function actionindex($list_id = null)
{
echo $list_id;
}