cakePHP, получение записей после - PullRequest
1 голос
/ 16 августа 2010

Эй, у меня есть элемент, который выполняет действие requestAction, чтобы получить записи, отсортированные по дате.

То, что я не смог разучить / найти, - это как ограничить его только теми записями, чья дата позже.

Например, в моем элементе я что-то похожее на:

$stuff = $this->requestAction('stuff/get_stuff/sort:my_date/direction:asc');

Как мне ограничить его только записями с my_date после этого?

Это другой параметр, который я должен добавить, или есть что-то, что я мог бы добавить в find(...) вызов в моем действии get_stuff в контроллере stuff?

Буду признателен за совет или дружеское подталкивание в правильном направлении!

Ответы [ 2 ]

2 голосов
/ 16 августа 2010

Это действительно зависит от того, будет ли это ВСЕГДА тем действием, которое вы хотите предпринять. Но вот пара идей.

  1. Вы можете добавить условие к запросу поиска: ( Сложные условия поиска )

    $this->Stuff->find('all', array('condition' => array('Stuff.my_date >' => date('Y-m-d'))));

  2. Вы можете добавить метод обратного вызова beforeFind к модели, которая реализует тот же базовый процесс. Это добавит условие к каждому поисковому запросу для данной модели. ( beforeFind )

0 голосов
/ 16 августа 2010

Вы можете создать новый метод в контроллере, чтобы найти нужные вам записи и просто вызвать его со всеми настраиваемыми параметрами в месте поиска. Затем просто убедитесь, что вы отметили его с помощью if($this->params['requested']), чтобы убедиться, что он поступает только от вашего requestAction() вызова и return набора данных.

Затем убедитесь, что вы кэшируете результат, чтобы не создавать огромных накладных расходов для своего приложения, вызывая новый цикл отправки каждый раз, когда кто-то загружает страницу.

...