2017-02-14 4 views
1

Wie Szenario von Join-Abfrage in Yii2 erstellt im Objekt setzenWie stellt Szenario in Join-Abfrage Objekt in Yii2

Meine Anfrage

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

ist ich Daten in Modellobjekt bekommen. Jetzt, wenn ich versuche Szenario auf dieses Objekt

$model->scenario = 'get_answer'; 

es Fehler geben „PHP Warnung - yii \ base \ Error

Versuch Eigenschaft des Nicht-Objekt zuweisen“

So richten Szenario zu diesem Objekt.

+0

Wahrscheinlich 'Antworten :: find() ...-> alle()' kehrt Reihe von Antworten. Und nach dieser Aktion ist Ihr $ -Modell Array; Und ja, man kann Eigenschaft Array zuweisen. Erklären Sie uns bitte, was tun Sie mit diesen Antworten wollen. –

+0

@BukharovSergey Ja ich bin immer Array von Objekt in $ Modellvariablen. Jetzt möchte ich Szenario ‚get_answer‘ zuweisen zu diesen Objekten –

Antwort

1

Answers::find()...->all() kehrt array von Antworten. Und nach dieser Aktion ist Ihr $ -Modell Array;

Und ja, man kann Eigenschaft Array zuweisen. Erkläre uns bitte, was du mit diesen Antworten willst.

Ihr Code wie folgt sein:

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

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