FormHelper を使用し、departure_time
フィールドのデータ型が または のいずれかDATETIME
である場合TIME
、Cake はすべての検索および保存操作を「自動的に」適切に処理します。
したがって、実際のデータ配列が個別hour
に保持されmin
、フィールドがデータベースに格納される方法に影響を与えないという事実は、モデルまたはコントローラーで追加のロジックを必要とせずに適切meridian
に変換されます。05:21:00
今回一致するすべてのレコードを見つけたい場合は、完全なタイムスタンプで簡単に見つけることができます。次のようなものを使用します。
$this->Rideoffer->find('all', array(
'conditions' => array(
'Rideoffer.departure_time' => '05:21:00'
)
));
アップデート
コメントに返信して、挿入された値をすぐに使用する場合は、それを DateTime オブジェクトに変換し、条件でフォーマットします。例えば:
$time =& $this->request->data['Rideoffer']['DepartureTime'];
$date = new DateTime($time['hour'] . ':' . $time['min'] . ' ' . $time['meridian']);
次に、検索結果の日付をフォーマットします。
$this->Rideoffer->find('all', array(
'conditions' => array(
'Rideoffer.departure_time' => $date->format('H:i:s')
)
));