我有表:課程和表:會話。 А課程可能有多個課程(例如5個課程)。我需要做什麼(可能用PHP)將這5個課程和會話記錄轉換爲一個記錄/數組?我已經嘗試了array_merge()和array_merge遞歸(),但沒有成功。由innerJoin/leftJoin返回的五行/記錄/數組作爲一行/記錄/數組 - php
如果您需要我接收的確切數據/行/記錄/數組,我會發布它們。
謝謝。
編輯:
public function getCourses($dateFrom, $dateTo)
{
$select = $this->_dbTableCourseTimetables->select()->setIntegrityCheck(false);
$select->from(array('a' => 'course_timetables'), 'a.id_course_timetables');
$select->where('b.start_time >= ?', $dateFrom);
$select->where('b.end_time <= ?', $dateTo);
$select->where('b.isActive >= ?', 'yes');
$select->joinInner(array('b' => 'course_sessions'), 'a.id_course_timetables = b.id_course_timetables', 'b.id_course_sessions');
echo $select;
return $this->_dbTableCourseTimetables->fetchAll($select)->toArray();
}
這是我的Zend查詢,產生這個SQL:
SELECT a.id_course_timetables, b.id_course_sessions FROM course_timetables AS a INNER JOIN course_sessions AS b ON a.id_course_timetables = b.id_course_timetables WHERE (b.start_time >= '1332745200') AND (b.end_time <= '1333350000') AND (b.isActive >= 'yes')
哪,如果我執行它。它返回:
id_course | id_course_sessions
--------- -----------------
303 533
303 534
303 532
304 535
而當我循環foreach()它呈現給我四個項目。我其實想成爲兩個項目,因爲課程只有兩個。希望這是有道理的。謝謝。
P.S.什麼令人難以置信的編輯器....
我可以看到你的示例代碼? – 2012-04-22 12:40:33
@DanielDimitrov - 請將註釋中的代碼移到實際問題中,在那裏可以正確格式化(每行前四個空格)。然後刪除評論 - 讓讀者閱讀':)'。 – halfer 2012-04-22 15:22:40