2015-02-05 28 views
0

我有一個表我需要拉記錄如果行是在某些時間之間。但有些時候是UFN(直到另行通知)。如果結束時間是一個字符串而不是時間,我怎麼能讓cakephp忽略'結束'時間?如果我強迫用戶如果想要顯示UFN,將「結束時間」保持爲空白,會更容易嗎?Cakephp條件之間的時間或如果時間列不是時間

在此先感謝

編輯: 我工作的這個項目是敏感的,所以我不能發表任何實際的代碼,但這裏有一個例子。

$this->Event->find('all', array(
    'conditions' => array(
     'Event.active_start <' => date('Y-m-d H:i:s', strtotime($date . " +31 minutes")), 
     'Event.active_stop >' => $date, 
     'Event.id >' => $id, 
    ), 
    'order' => 'Event.active_start', 
    'group' => 'Event.id' 
      ) 
     ); 

Event.active_start始終是一個日期,但Event.active_stop可以是日期時間或字符串,通常是「UFN」。

此查詢不會拉取任何字符串的行。

+0

如果添加樣本數據這會有所幫助,預期結果以及您嘗試解決此問題的任何代碼。 – AgRizzo 2015-02-05 17:11:23

+0

我還沒有嘗試過任何代碼,因爲我不知道從哪裏開始。可以很容易地在PHP中實現,但我寧願找到一個乾淨的解決方案,將在MySQL中工作。 – Rymn 2015-02-05 17:46:46

回答

1
  1. 'Event.active_stop'設置爲DATETIME字段,允許爲空。
  2. 之前保存,如果不取消設置($字符串),檢查日期時間格式
  3. 發現(回調)後,如果active_stop是空場,返回字符串「UFN」
+1

這正是我所做的。完美的作品! – Rymn 2015-02-05 21:39:23

相關問題