2016-08-01 55 views
0

陣列約束我有一個需要表時間表,在我的查詢中加入。CakePHP的和在查詢操作

$joins[] = array(
    'table' => 'schedules', 
    'alias' => 'Schedule', 
    'conditions' => array(
     'Schedule.provider_id = Provider.id', 
     'Schedule.endtime > "' . date('Y-m-d H:i:s') . '"', 
     'Schedule.starttime' => $startTimes, 
    ), 
    'type' => 'INNER' 
); 

$starttimes是由DateTime對象組成的數組。 供應商可以有多個計劃,我想所有的供應商,匹配來自$starttimes陣列至少所有starttimes其中。

+2

我的問題是,_why_?你的'starttime'列只能有一個值,所以使用多個'AND'永遠不會匹配任何東西(除非所有的日期都一樣)。 – ndm

+0

也許我應該在我的問題中說得更清楚,而且我的錯誤的mysql語句是誤導性的。 每個提供程序在調度表中都有多行,我想要在'$ starttimes'數組中獲得至少具有所有時間行的所有提供程序。 – Max90

+0

現在完全不同了。請[**更新您的問題**](http://stackoverflow.com/posts/38694268/edit)以及這些詳細信息,並添加適當的示例SQL,如果您知道它應該是什麼樣子,否則只需刪除當前的SQL。 – ndm

回答

0

感謝ndm我得到了解決。我錯過的是團隊實踐:

$group = 'Provider.id HAVING COUNT(DISTINCT Schedule.id) = ' . count($startTimes);