Próbuję utworzyć polimorficzne skojarzenie, co jest typowe w Railsach, ale niestety nie w Yii2. W ramach realizacji muszę zdefiniować relację:Jak używać stałej w stanie ON w Yii2 ma wiele relacji
public function getImages()
{
return $this->hasMany(RecipeImage::className(),
['imageable_id' => 'id', 'imageable_type' => 'Person']);
}
Ale to nie działa, ponieważ „osoba” traktowana jest jako atrybut obecnego modelu, ale jest stała (nazwa klasy dla stowarzyszenie polimorficzne).
Jeśli spróbuję użyć "andWhere", to doda warunek oczywiście w klauzuli WHERE zamiast w klauzuli ON, powodując, że zwracane są tylko rekordy z istniejącym obrazem.
public function getImages()
{
return $this->hasMany(RecipeImage::className(), ['imageable_id' => 'id'])->
andWhere(['imageable_type' => 'Ingredient']);
}
Jak zdefiniować relację? Nie ma metody andOn.
dzięki za link! – iGbanam