2010-08-16 88 views
1

嘿,我有一個元素,它執行requestAction來抓取按日期排序的記錄。cakePHP,現在檢索記錄

我沒有能夠鍛鍊/發現的是如何限制它只包括誰的日期是現在的記錄。

例如,類似於我的元素我的東西:

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

我應該如何去後,現在把它限制爲只與my_date記錄?

是他們的另一個PARAM我要補充或者是有什麼我可以在控制器stuff添加到find(...)呼叫我get_stuff行動?

建議或在正確的方向友好的微調將不勝感激!

+0

'my_date'是創建日期還是最後修改日期? – NullUserException 2010-08-16 13:56:10

+0

如果是這樣,你可以命名'created'或'modified'字段,Cake自動爲你填充它們。 – NullUserException 2010-08-16 13:56:39

+0

@NullUserException,不,它不是創建或修改日期。 – 2010-08-16 21:02:02

回答

2

這真的取決於這是否會一直是你想要採取的行動。但這裏有一些想法。

  1. 您可以添加一個條件查找查詢:(Complex Find Conditions

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

  2. 您可以添加beforeFind回調方法來實現相同的基本過程模型。它會將條件添加到給定模型的每個查找查詢中。 (beforeFind

0

您可以在控制器中創建一個新的方法來找到你所需要的記錄,只是調用,在查找全部到位的自定義參數。然後確保您使用if($this->params['requested'])進行檢查,以確保它只來自您的requestAction()調用和return數據集。

然後確保緩存結果,以便在每次有人加載頁面時調用新的調度週期,以免在應用程序上造成巨大開銷。