私はテーブルを持っています:コースとテーブル:セッション。- コースには複数のセッションが含まれる場合があります (たとえば、5 つのセッション)。もちろん、これらの5つのレコードとセッションを1つのレコード/配列に変換するには、(おそらくPHPで)何をしなければなりませんか? array_merge() と array_merge recursively() を試しましたが、成功しませんでした。
私が受け取った正確なデータ/行/レコード/配列が必要な場合は、投稿します。
ありがとう。
編集:
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();
}
これは、この SQL を生成する私の Zend クエリです。
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() をループすると、4 つのアイテムがレンダリングされます。コースが2つしかないので、実際には2つのアイテムになりたいです。それが理にかなっていることを願っています。ありがとう。
PS 何という素晴らしい編集者....