如何在Yii2中的Join Query对象中设置场景

时间:2017-02-14 13:30:03

标签: php yii yii2 yii2-basic-app yii2-model

如何在Yii2中使用Join Query创建的对象中设置场景

我的查询是

$model = Answers::find()
            ->joinWith('question')
            ->where(['request_id' => $Request->id])->all();

我在模型对象中获取数据。现在,当我尝试将场景设置为此对象时

$model->scenario = 'get_answer';

它给出错误“PHP警告 - yii \ base \ ErrorException

尝试分配非对象的属性“

如何将场景设置为此对象。

1 个答案:

答案 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';
}