如何在Yii2中使用Join Query创建的对象中设置场景
我的查询是
$model = Answers::find()
->joinWith('question')
->where(['request_id' => $Request->id])->all();
我在模型对象中获取数据。现在,当我尝试将场景设置为此对象时
$model->scenario = 'get_answer';
它给出错误“PHP警告 - yii \ base \ ErrorException
尝试分配非对象的属性“
如何将场景设置为此对象。
答案 0 :(得分:1)
Answers::find()...->all()
返回array
个答案。在这个动作之后你的$ model就是数组;
是的,你不能将属性赋给数组。请用这个答案解释一下你想要的是什么。
您的代码必须如下:
$answers = Answers::find()
->joinWith('question')
->where(['request_id' => $Request->id])->all();
foreach ($answers as $answer) {
$answer->scenario = 'get_answer';
}