2017-02-14 2 views
1

Как установить сценарий в объект, созданный из Join запроса в Yii2Как установить сценарий регистрации объекта запроса в Yii2

Мой запрос

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

Я получаю данные в модели объекта. Теперь, когда я пытаюсь установить сценарий к этому объекту

$model->scenario = 'get_answer'; 

он дает ошибку «PHP Warning - юй \ база \ ErrorException

Попытка присвоить свойство не-объекта»

Как установить сценария к этому объекту.

+0

Возможно 'ответы :: найти() ...-> все()' возвращает массив ответов. И после этого действия ваша '$ model' является массивом; И да, вы не можете присвоить свойство массиву. Объясните нам, пожалуйста, что вы хотите с этим ответом. –

+0

@BukharovSergey Да, я получаю массив объекта в переменной $ model. Теперь я хочу назначить сценарий «get_answer» для этих объектов –

ответ

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'; 
} 
Смежные вопросы