Как использовать команду sql'ween 'с CakePhp requestAction () - PullRequest
0 голосов
/ 05 июля 2010

У меня есть элемент, который получает данные из MySQL.Вот мой рабочий код:

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

Я хочу получать сообщения только с идентификаторами от 1 до 6. Как я могу выполнить этот запрос через requestAction?Некоторые из скриптов, которые я пробовал, приведены ниже.Ни один из них не работает:

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

или

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

Мой проект можно увидеть по адресу http://bake.yemeklog.com/ Я хочу этот код для третьего столбца (последние 30 дней в фаворитах)

1 Ответ

0 голосов
/ 05 июля 2010

Если бы я собирался вызывать его через requestAction (!), Я бы написал собственный метод в моем контроллере, а затем, вероятно, передал бы два идентификатора в этот метод в качестве параметров.

Затем вы можете обработать параметры и сформулировать свой запрос.

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

Не идеален ни в коем случае, но я не совсем уверен, как еще я мог бы подойти к такой проблеме.

Если это статический идентификатор, то возможно

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

** Теперь я не уверен, сработает ли это, потому что я не пробовал, но я часто с некоторым успехом взламывал подобные вещи в Cake. Поэтому, возможно, попробуйте, обязательно установите debug = 2, чтобы вы могли видеть запрос, или захватите DebugKit из OhLo

PS, не забывайте, если вы пишете методы requestAction, чтобы проверить, что $this->params['requested'] истинно, так что вы знаете, что это происходит из запроса requestAction

...