Disons que je veux avoir un fournisseur CActiveDataProvider pour un CGridView. Je dois mettre un SUM(invitesCount) AS invites
dans un résultat de fournisseur. Comment le récupérer? Je suppose que je ne peux pas simplement utiliser $dataProvider->invites
?Yii - utilisation du champ clause MySQL AS
Répondre
Vous devez spécifier les éléments suivants dans votre relationinvites
'invites '=>array(self::BELONGS_TO, 'CampaignFund', 'campaign_id', 'select' => 'SUM(invitesCount)'),
et utiliser cette relation dans vos critères.
Plusieurs autres options:
Utilisez CStatRelation
invitesCount=>array(self::STAT,'Invites','foreign_key_field');
L'ajout d'une propriété publique peuvent travailler. Toutefois, le champ ne sera défini que si vous avez modifié la requête de recherche par défaut pour inclure cette nouvelle condition. Cela peut être fait en remplaçant
defaultScope()
ou en créant un nouveauscope
et en l'utilisant chaque fois queinvitesCount
est requis.Une autre option consiste à créer une vue de base de données à partir de la requête requise et à créer un nouveau modèle à partir de cette vue de base de données.
En fait, vous n'avez pas besoin de définir new 'scope'. Vous pouvez simplement changer la méthode 'search' pour accepter l'objet' CDbCriteria' en tant que paramètre avec la valeur par défaut 'null', puis fusionner les critères par défaut avec les critères du paramètre. – Joe
- 1. Utilisation de l'instruction SQL 'AS' dans Yii CDBCriteria
- 2. Utilisation du nombre d'images dans la clause where de MYSQL
- 3. MySQL: Nommer un champ AS madeupfield et l'exécution d'une clause WHERE sur ce domaine
- 4. cadre Yii où la clause
- 5. MySQL - sélectionnez AS dans WHERE
- 6. AS3 - Utilisation de .AS
- 7. Utilisation d'enum as id
- 8. Yii trace - utilisation correcte
- 9. Utilisation d'ExtJS avec YII
- 10. Instruction SQL, en utilisant la clause AS
- 11. clause AS dans Oracle 11g XE
- 12. Utilisation de MySQL SELECT AS pour Latitude/Long. En cours
- 13. MySQL, conditionnelle clause WHERE
- 14. mysql Sélectionnez AS
- 15. MySql clause
- 16. WordPress: Utilisation d'une clause Where avec un champ personnalisé
- 17. Yii Recherche d'un champ personnalisé
- 18. Utilisation du champ parent dans la sous-requête
- 19. Clause MySQL IF Problème
- 20. Utilisation de la clause WHERE imbriquée?
- 21. Valeur de champ "File as" du contact Outlook
- 22. Erreur MySQL avec SQL AS
- 23. Utilisation de la clause "in" MySQL avec une longue chaîne
- 24. Utilisation correcte de la clause HAVING
- 25. Yii Ignorer champ personnalisé après inscription
- 26. MySQL conditionnel où Clause
- 27. performance requête mysql: position du champ
- 28. Utilisation de Phpcassa dans Yii
- 29. Utilisation de GetText avec Yii
- 30. Utilisation de CASE dans Yii Instruction CDbCriteria
Merci. Est-ce une bonne idée d'ajouter des révisions chaque fois que nous avons besoin d'un champ? Est-ce efficace? J'ai remarqué quelques secondes avant de lire votre réponse. Je peux juste définir de nouvelles propriétés publiques et faire la sélection avec le point AS sur ces propriétés. Vous ne savez pas quel est le meilleur? – Joe