如何设置场景中加入查询对象在Yii2
问题描述:
如何设置场景从Yii2如何设置场景中加入查询对象在Yii2
加入查询创建的对象我的查询是
$model = Answers::find()
->joinWith('question')
->where(['request_id' => $Request->id])->all();
我得到的模型对象数据。现在,当我尝试情景设置为此对象
$model->scenario = 'get_answer';
它给错误“PHP的警告 - 警予\基地\ ErrorException
尝试给非对象的财产”
如何设置场景到这个对象。
答
Answers::find()...->all()
返回array
答案。在这个动作之后,你的$模型是数组;
是的,你不能分配属性数组。请解释我们,你想用这个答案想要什么。
你的代码必须是这样的:
$answers = Answers::find()
->joinWith('question')
->where(['request_id' => $Request->id])->all();
foreach ($answers as $answer) {
$answer->scenario = 'get_answer';
}
大概'回答:: find()方法...->回答所有的()'返回数组。在这个动作之后,你的'$ model'是数组; 是的,你不能分配属性数组。 请解释我们请你用这个答案想要什么。 –
@BukharovSergey是的,我得到$ model变量中的对象数组。现在我想为这些对象分配场景'get_answer' –