Wie man Konstante in der AN-Bedingung in Yii2 hasMany Relation verwendet

Ich versuche zu erstellen, die eine polymorphe Assoziation, was in Rails aber leider nicht in Yii2. Als Teil der Umsetzung brauche ich zum definieren der Beziehung:

public function getImages()
{
   return $this->hasMany(RecipeImage::className(), 
       ['imageable_id' => 'id', 'imageable_type' => 'Person']);
}

Aber das funktioniert nicht, weil die 'Person' behandelt wird-als ein Attribut des aktuellen Modells, aber es ist eine Konstante (Klasse name für die polymorphic association).

Wenn ich versuche, 'andWhere' es fügt die Bedingung natürlich in einer WHERE-Klausel statt der ON-Klausel, verursacht, dass nur Datensätze mit vorhandenen Bild zurückgegeben.

public function getImages()
{
   return $this->hasMany(RecipeImage::className(), ['imageable_id' => 'id'])->
       andWhere(['imageable_type' => 'Ingredient']);
}

Wie kann ich definieren das Verhältnis? Es gibt keine andOn-Methode.

InformationsquelleAutor der Frage Tibor Nagy | 2015-05-28

Schreibe einen Kommentar