Comment passer un paramètre à la requête relationnelle dans Yii
J'ai un MANY_MANY relation:
'rel'=>array(self::MANY_MANY, 'MyClass','table(id_1,id_2)',
'condition'=>'some condiotions AND field_name=:param')
- Je obtenir le résultat -les instances de Myclass dans la siteController:
$obj->rel
Est-il possible (et comment) pour passer à l' :param du contrôleur à l'égard de la requête?
OriginalL'auteur lvil | 2012-02-22
Vous devez vous connecter pour publier un commentaire.
Je suis assez sûr qu'il n'est pas possible, mais ce que vous voulez faire peut être réalisé d'une manière différente.
Vérifiez les points suivants à partir de le Guide:
Afin que votre requête pourrait être quelque chose comme ceci (si l'on veut utiliser désireux de chargement approche):
Ou lors de l'utilisation, le chargement différé approche pour effectuer des requêtes relationnelles:
Espère que cette aide. Faire lire le guide. Demander des précisions, si nécessaire.
Edit:
Comme déjà mentionné dans les commentaires ci-dessous,
some conditions
peuvent être mis dans le modèle de la relation, et seulement des conditions supplémentaires doivent être spécifiés lors de l'interrogation. La condition supplémentaire est automatiquementAND
'ed sur le modèle de la relation de l'état. Cela semble contraire à la documentation. De toute façon, le code suivant peut être utilisé:Contrôleur:
Voir aussi ce commentaire dans la documentation
ok, pour le moment, je ne peux pas penser à une solution de contournement pour cela, mais il y a toujours des compromis à prendre en compte dans la programmation. laid vs ce qui est possible. 🙂
découvrez @mashingan de la solution, il semble bon.
mon erreur. ne pas remplacer ici. la nouvelle condition est ajoutée à la fin de la requête
ok super, je pensais qu'il serai trop surchargée.
OriginalL'auteur bool.dev
Vous pouvez essayer "Paramétrée Nommé Étendues":
Alors vous pouvez l'utiliser de cette façon:
OriginalL'auteur rinat.io