Php 来自$\u的Yii质量分配未按预期工作

Php 来自$\u的Yii质量分配未按预期工作,php,yii,mass-assignment,Php,Yii,Mass Assignment,我正在尝试执行2个变量的大规模赋值,我将通过GET发送到另一个model::controller(从project::actionCreate到client::actionCreate) 在project::actionCreate的_form视图中,我得到了以下内容: <?php echo "&nbsp;".Chtml::link('+New client',array('client/create',array('Client' => array('redir'=>

我正在尝试执行2个变量的大规模赋值,我将通过GET发送到另一个model::controller(从project::actionCreate到client::actionCreate)

在project::actionCreate的_form视图中,我得到了以下内容:

<?php echo "&nbsp;".Chtml::link('+New client',array('client/create',array('Client' => array('redir'=>Yii::app()->controller->route,'redirId'=>$model->id))));?>
现在我注意到我的$\u GET var将客户机放在子数组0中,所以我用

$_GET[0]['Client']
也一样,但运气不好。但是,如果我手动分配如下变量:

$model->redir = $_GET[0]['Client']['redir'];
$model->redirId = $_GET[0]['Client']['redirId'];
然后它就起作用了


知道怎么回事吗?目标是允许某人在创建/更新项目记录时创建新客户机,方法是将它们发送到client::actionCreate,但如果它们是从我的“+新客户机”链接链接到原始project::actionCreate,则将它们重定向回原始project::actionCreate。

我不确定是否可以创建您想要的链接。不久前我也问过类似的问题,但我始终无法找到我想要它的链接。最后,我只是以旧的方式创建了链接,而不是使用CHTML。

我认为
客户机
数组放在子数组0中,因为您在参数周围添加了一个数组。尝试按如下方式删除阵列:

<?php 
    Chtml::link('+New client',array('client/create', 'Client' => array('redir'=>Yii::app()->controller->route,'redirId'=>$model->id)));
?>
<?php 
    Chtml::link('+New client',array('client/create', 'Client' => array('redir'=>Yii::app()->controller->route,'redirId'=>$model->id)));
?>
$model->setAttributes($_GET['Client'], false);