relaciones framework formularios español ejemplos dinamicos yii2 has-many polymorphic-associations relation

framework - Cómo usar la constante en la condición ON en Yii2 tiene muchas relaciones



yii2 gii (1)

En este caso, puede modificar la condición ON con el método andOnCondition :

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

Documentos oficiales:

Intento crear una asociación polimórfica, lo que es común en Rails pero desafortunadamente no en Yii2. Como parte de la implementación necesito definir la relación:

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

Pero esto no funciona, porque ''Persona'' se trata como un atributo del modelo actual, pero es una constante (nombre de clase para la asociación polimórfica).

Si trato de usar ''andWhere'' agrega la condición, por supuesto, en una cláusula WHERE en lugar de la cláusula ON, causando que solo se devuelvan los registros con la imagen existente.

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

¿Cómo puedo definir la relación? No hay método andOn.