[英]Yii2 get post request value not working
为什么Yii::$app->request->post()
无效?
形成:
<?php $form = ActiveForm::begin(); ?>
<?= $form->field($model, 'parent')
->dropDownList($model->AuthItemDropdown
);
?>
<?= $form->field($model, 'child[]')
->dropDownList($model->AuthItemDropdown,
['multiple'=>'multiple']
);
?>
控制器:
public function actionCreate(){
$model = new AuthItemChild();
if ($model->load(Yii::$app->request->post())){
$parent = Yii::$app->request->post('parent');
echo $parent; // show nothing
$x = Yii::$app->request->post('child');
print_r($x);// show nothing
exit;
但是print_r(Yii::$app->request->post());
输出print_r(Yii::$app->request->post());
是:
Array
(
[_csrf-backend] => OGd0emxoOHgJEh8ICFloPlYvJg8BEHk.VjVAMx0hTD9CKgIDNSdVOg==
[AuthItemChild] => Array
(
[parent] => admin
[child] => Array
(
[0] => admin
[1] => create-branch
)
)
)
基于你的print_r(Yii::$app->request->post());
输出你应该呼吁:
$authItemChild = Yii::$app->request->post('AuthItemChild');
echo $authItemChild['parent']; // should show 'admin'
由于您使用帖子加载模型,我猜您应该显示加载的结果,而不是尝试再次发布帖子:
if ($model->load(Yii::$app->request->post())){
$parent = $model->parent;
echo $parent;
$x = $model->child;
print_r($x);
exit;
}
我试图以同样的方式获得价值。 我公开的是$ app-> request-> post()(Yii2.0.10)与文本和选择字段的工作方式不同。
$model->load(Yii::$app->request->post())
绑定$model->load(Yii::$app->request->post())
$model->parent=$request->post("parent")
,名称显式设置: <?= $form->field($model, 'parent') ->dropDownList($model->AuthItemDropdown,['id' => 'parent','name'=>'parent'] ); ?>
<?= $form->field($model, 'parent') ->dropDownList($model->AuthItemDropdown,['id' => 'parent','name'=>'parent'] ); ?>
默认情况下,ActiveForm将名称确定为YouModelName[NameOfField]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.