Yii findByAttributes () avec un attribut supérieur à.
J'ai été en utilisant Yii pour un certain temps maintenant, et quand je veux extraire des données d'une base de données de manière générale, j'utilise juste un findByAttributes.
$model=Auction::model()->findAllByAttributes(array('status'=>'1'));
Ou quelque chose le long de ces lignes.
Ma question serait, comment pourrais-je traiter une plus grande que le type de situation? J'ai essayé
$model=Auction::model()->findAllByAttributes(array('starttime'>=$date));
où la date avait été affecté à une date/heure actuelle le programme d'installation toutefois, cela provoque une erreur. Donc ma question est ai-je besoin de conditions d'utilisation et ou params? Dois-je faire ce genre de chose dans le modèle et /ou en utilisant les Critères ou CActiveDataProvider des trucs?
J'apprécierais que quelqu'un me pointer dans la bonne direction. J'ai toujours obtenu simplement en utilisant findAll()s, mais je sais que leur est une meilleure façon de le faire. Quelques infos générales sur quoi et quand utiliser les Attributs, les Conditions, les Paramètres, etc serait bien aussi.
J'ai lu le Yii documentation et cherché des tonnes de sites pour les réponses à ces questions et je ne suis pas à la trouver.
source d'informationauteur KyleVan | 2011-09-06
Vous devez vous connecter pour publier un commentaire.
C'est une bonne idée d'utiliser params même avec findByAttributes, mais qui ne fait de la correspondance. Vous pouvez utiliser findAll et ajouter une déclaration sur l'état et le format est très similaire à ce que vous faites déjà:
Si vous faisiez une requête très complexe ou la construction d'une requête par programme, vous pourriez vouloir utiliser findAllBySql ou CDbConnection::createCommand ou Générateur De Requêtesil dépend juste de ce qui fait le plus de sens pour votre application.
Je voudrais (re)lire la Yii section sur Travailler avec des Bases de donnéesalors qu'il n'a pas de nombreux exemples, c'est assez clair. Ensuite, vous pouvez essayer la Yii tutoriel du Blog, Larry Ullman des tutorielsetc.
Le type de la 2e paramètre de
findAllByAttributes
est mixte, donc nous avons (pas à l'infini mais) beaucoup de possibilités, par exemple:ou