2013-04-15 67 views
3

嗨我怎麼能做這樣的條件在Drupal?條件AND與Drupal db_select

WHERE (date = xxx and time = xxx) OR (date = xxx and time = xxx) 

我想用db_select來做這個條件。

謝謝。

回答

8

THX快速的答案,我只是發現了它。

這裏是我的解決方案:

$and_1 = db_and()->condition('b.date' , $date, '=')->condition('b.time', $begin_time, '>'); 
$and_2 = db_and()->condition('b.date' , $tomorrow, '=')->condition('b.time', '00:00', '>=') 

$query->condition(db_or()->condition($and_1)->condition($and_2)); 
1

像這樣:

$query = db_select('yourtable', 't'); 
$query->condition(db_or()->condition(db_and()->condition('t.date', xxx, '=')->condition('t.time', xxx, '=')) 
         ->condition(db_and()->condition('t.date', xxx, '=')->condition('t.time', xxx, '='))); 
+1

這是不對的......產生'選擇 FROM {} yourtableŤ WHERE(t.date =:db_condition_placeholder_0)AND(t.time =: db_condition_placeholder_1)AND((t.date =:db_condition_placeholder_2)OR(t.time =:db_condition_placeholder_3))' – Clive

+0

@Clive:你說的對,我編輯過 –

相關問題