【发布时间】:2014-08-11 00:15:14
【问题描述】:
我正在尝试以这种格式(或至少非常相似)从查询中返回一些数据
Array
(
[0] => Array
(
[id] => 1
[name] => Gym Opening Times
[times] => Array
(
[0] => Array
(
[id] => 1
[label] => Mon-Thu
[time] => 6:00am : 10:00pm
)
[1] => Array
(
[id] => 2
[label] => Fri
[time] => 6:00am : 09:00pm
)
[2] => Array
(
[id] => 3
[label] => Sat & Sun
[time] => 6:00am : 10:00pm
)
)
)
[1] => Array
(
[id] => 1
[name] => Resteruant Times
[times] => Array
(
[0] => Array
(
[id] => 1
[label] => Mon-Thu
[time] => 6:00am : 10:00pm
)
[1] => Array
(
[id] => 2
[label] => Fri
[time] => 6:00am : 09:00pm
)
[2] => Array
(
[id] => 3
[label] => Sat & Sun
[time] => 6:00am : 10:00pm
)
)
)
)
到目前为止我有这个查询,但是,它抛出一个错误执行 PDO 查询时出错:SQLSTATE[21000]:基数违规:1242 子查询返回超过 1 行
SELECT
otg.groupName,
otg.id,
(SELECT
ot.id,
ot.label,
ot.time
FROM
opening_times ot
WHERE
ot.groupId = otg.id) as times
FROM
opening_time_groups as otg
WHERE
otg.venueId = $venueId
AND otg.active = 1
我做错了什么?或者这是我在 1 个查询中根本无法做到的事情?
【问题讨论】:
-
你不能直接从 MySQL 中得到这个。您需要使用像 Doctrine 这样的驱动程序来获取此类集合。
标签: mysql