2017-02-14 40 views
1

如何設置場景從Yii2如何設置場景中加入查詢對象在Yii2

加入查詢

創建的對象我的查詢是

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

我得到的模型對象數據。現在,當我嘗試情景設置爲此對象

$model->scenario = 'get_answer'; 

它給錯誤「PHP的警告 - 警予\基地\ ErrorException

嘗試給非對象的財產」

如何設置場景到這個對象。

+0

大概'回答:: find()方法...->回答所有的()'返回數組。在這個動作之後,你的'$ model'是數組; 是的,你不能分配屬性數組。 請解釋我們請你用這個答案想要什麼。 –

+0

@BukharovSergey是的,我得到$ model變量中的對象數組。現在我想爲這些對象分配場景'get_answer' –

回答

1

Answers::find()...->all()返回array答案。在這個動作之後,你的$模型是數組;

是的,你不能分配屬性數組。請解釋我們,你想用這個答案想要什麼。

你的代碼必須是這樣的:

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

foreach ($answers as $answer) { 
    $answer->scenario = 'get_answer'; 
}