【发布时间】:2011-03-12 03:00:22
【问题描述】:
我有以下具有这些属性的表格:
位置 - location_id、名称
时间表 - schedule_id,名称
locatoin_schedule - location_id、schedule_id
我正在使用这样的查询。
SELECT l.name as locationName, s.name as scheduleName
FROM location AS l, schedule AS s, location_schedule AS ls
WHERE ls.schedule_id = s.schedule_id
AND ls.location_id = l.location_id
这将返回一个如下所示的数组:
Array
(
[0] => stdClass Object
(
[locationName] => testing
[scheduleName] => New Schedule
)
[1] => stdClass Object
(
[locationName] => another
[scheduleName] => New Schedule
)
[2] => stdClass Object
(
[locationName] => testing
[scheduleName] => Another Schedule
)
)
如果一个位置有很多时间表(如testing 位置的情况),是否可以返回一个多维时间表数组?所以我的预期结果将是一个只有 2 个索引的数组,而不是 3 个......但是测试 locationName 将包含一个有两个时间表的数组。
我希望这是有道理的,谢谢你的回答。
【问题讨论】:
-
这取决于查询结果如何被拉入 PHP。 MySQL 不会直接将任何内容返回到 php 数组中 - 它会返回列和行的网格结果,并且您的 PHP 代码会将其放入您说明的数组中。发布该代码。 (即 mysql_fetch_object() 等)
-
codeigniter.com/user_guide/database/examples.html - 我正在使用 codeigniter,代码是 $query = $this->db->query('SELECT name, title, email FROM my_table');所以它只返回从 mysql 返回的行并将其转换为数组