在mysql

时间:2015-11-18 22:28:00

标签: php mysql rest

我正在使用php来获取一个REST API,我以后可以使用它作为Ember应用程序。到目前为止一切正常,我刚才有一个关于MySQL的问题。因为我更像是一个前端人,所以我并不熟悉它。我的数据库中有一个表,其中一些元素是其他元素的父元素。所以每个元素都有一个父元素,最顶层的元素有父元素0.现在我希望我的数据库返回元素的所有值以及元素为父元素的元素ID。

我想结合

SELECT * FROM table WHERE id=exId

SELECT id FROM table WHERE parent_id=exId

我想把这些孩子作为一个数组返回,所以我可以像{"prop":"val", "children": [1,2,3,4]}一样从中获取JSON。有没有办法结合这个或者更容易做两个查询并组合数组?

1 个答案:

答案 0 :(得分:0)

加入两个查询。

SELECT t1.prop, GROUP_CONCAT(t2.id) AS children
FROM table AS t1
JOIN table AS t2 ON t1.id = t2.parent_id
WHERE t1.id = :exId

children将是以逗号分隔的ID列表,您可以使用PHP中的explode将其转换为数组。