Php Yii框架:通过Chtml:按钮传递变量
我正在尝试将一个变量从一个视图(移动模型)传递到另一个控制器(库存模型),使用带有此代码的Php Yii框架:通过Chtml:按钮传递变量,php,yii,Php,Yii,我正在尝试将一个变量从一个视图(移动模型)传递到另一个控制器(库存模型),使用带有此代码的chtml:button echo CHtml::button( 'Sell It', array('submit' => array('inventory/create', array('id'=>$data->id))) ); 现在,我如何访问Inventory controller中的$id变量,以便使用与移动模型传递的'id'变量相对应的详细信息预填充creat
chtml:button
echo CHtml::button(
'Sell It',
array('submit' => array('inventory/create', array('id'=>$data->id)))
);
现在,我如何访问Inventory controller中的
$id
变量,以便使用与移动模型传递的'id'变量相对应的详细信息预填充create视图 如果您试图生成一个更新/编辑表单,其中包含根据传递的Id预先填充的值,那么您应该查看YII中可用的CRUD选项。。这是处理记录更新的更好的方法,而且也很简单。有关更多信息,请参阅本主题
在库存/创建控制器操作中,对$\u GET['id']进行测试,例如:
$id = (@$_GET['id']) ? : DEFAULT_VALUE;
$this->render('create',array('model'=>$inventory, 'id'=>$id));
然后通过传递一个要使其可用的变量数组,将数据传递给视图
(您可能希望更好地过滤输入,这只是一个示例--使用filter_input或其他方法,并定义默认值和/或对其进行测试,使其为空/无效)在清单/创建控制器操作中,在获取id之前执行以下检查:-
if (isset($_REQUEST['id'])) {
$id = $_REQUEST['id'];
$this->render('create',array('model'=>$inventory, 'id'=>$id));
}
else{
$this->render('create',array('model'=>$inventory);
}
在控制器中,您可以通过如下方式为控制器方法提供参数来获取变量:
public function actionCreate($id){
$id = isset($id)?$id:NULL; // Or whatever, you can access it like this.
}
您不必使用$\u GET,yii已经对该值进行了一些安全检查。不,这不是我想要做的。无论如何,现在使用$\u GET