嘿,我有一个元素执行requestAction来获取按日期排序的记录。
我无法锻炼/找到的是如何将其限制为仅包括日期之后的记录。
例如,在我的元素中,我有类似于:
$stuff = $this->requestAction('stuff/get_stuff/sort:my_date/direction:asc');
我应该如何将其限制为仅限my_date后的记录?
我应该添加另一个参数吗?或者我可以在控制器find(...)
的{{1}}操作中添加get_stuff
次调用吗?
对正确方向的建议或友好的推动将不胜感激!
答案 0 :(得分:2)
这实际上取决于这是否总是你想要采取的行动。但这里有几个想法。
您可以在查询查询中添加条件:(Complex Find Conditions)
$this->Stuff->find('all', array('condition' => array('Stuff.my_date >' => date('Y-m-d'))));
您可以将beforeFind回调方法添加到实现相同基本过程的模型中。它将为给定模型的每个查找查询添加条件。 (beforeFind)
答案 1 :(得分:0)
您可以在控制器中创建一个新方法来查找所需的记录,然后调用它,并在find中使用所有自定义参数。然后,请确保使用if($this->params['requested'])
进行检查,以确保它仅来自您的requestAction()
电话和return
数据集。
然后确保缓存结果,这样每次有人加载页面时都不会通过调用新的调度周期来为应用程序创造巨大的开销。