2010-07-05 14 views
0

J'ai un élément qui récupère des données de mysql. Voici mon code de travail:Comment utiliser la commande sql 'between' avec CakePhp requestAction()

$this->requestAction('posts/index/sort:id/direction:desc'); 

Je veux saisir les messages seulement entre id 1 et 6. Comment puis-je exécuter cette requête via requestAction? Certains des scripts que j'ai essayés sont ci-dessous. Aucun fonctionne:

$this->requestAction('posts/index/sort:id/direction:desc', array('id between ? and ?' => array('1,6'))); 

ou

$this->requestAction('posts/index/sort:id/between:1,6/direction:desc'); 

Vous pouvez voir mon projet à http://bake.yemeklog.com/ Je veux ce code pour la troisième colonne (30 derniers jours faves)

Répondre

0

Si j'allais appeler (requestAction (!) alors j'écrirais une méthode personnalisée dans mon contrôleur, alors je passerais probablement les deux id dans cette méthode en tant que paramètres.

Ensuite, vous pouvez traiter les paramètres et formuler votre requête.

$this->Model->find('all', 'conditions' => array('id'=>array(1,2,3,4,5,6))); 

Pas idéal, mais je ne sais pas comment j'aborderais ce genre de problème.

Si c'est ids statique alors peut-être

$this->Model->find('all', null, null, 'order' => 'id ASC LIMIT 0,6'); 

** Maintenant, je ne suis pas sûr si cela fonctionne comme je l'ai pas essayé, mais je souvent piraté petites choses comme ça en gâteau avec un certain succès . Alors, donnez peut-être essayer, assurez-vous de mettre debug = 2 afin que vous puissiez voir la requête ou DebugKit grab de OhLo

PS, Ne pas oublier si vous écrivez des méthodes de requestAction, pour vérifier que $this->params['requested'] est vrai, si vous le savez venir à partir de demande

+0

Bonjour David, Merci pour votre réponse. Je ne sais pas ce que ça va me convenir. Parce que j'ai trois colonnes dans ma mise en page. Chaque colonne a des résultats de requête SQL différents. Le script actuel fonctionne OK attendez sql bewtween. Voici mon projet. Il peut être utile de voir de quoi je parle. http://bake.yemeklog.com/ – Kemal

+0

Dans ce cas, j'utiliserais un élément pour chaque colonne, avec une recherche spécifique pour chacun, puis passerais ces données dans l'élément comme paramètre :) –

+0

Oh alors je vais essayer ça. Mais je suis vraiment nouveau dans le gâteau, donc je ne veux jamais changer de structure à laquelle je m'habitue :) J'espère que je peux l'obtenir – Kemal