首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >包括从表到来自另一个表json的对应数据

包括从表到来自另一个表json的对应数据
EN

Stack Overflow用户
提问于 2013-07-02 20:58:54
回答 1查看 86关注 0票数 1

我有两张桌子--食物和标签。食品中的每一行都有相应的标签。我想输出具有这些标记的每一行,即:

餐桌食物:

id |名称

1|面包

2|肉

表标签:

reference_id |标签

1|面包店

1|小麦

2|母牛

期望的输出为:

{“result”:[{"id":"1",“name”:“面包”,“tags”:“面包房”,“小麦”},

{"id":"2",“名称”:“肉”,“标签”:“牛”}]}

到目前为止,我有这样的想法:

代码语言:javascript
复制
$db = getConnection();
$stmt = $db->query($sql);//get every column from every food  
$food = $stmt->fetchAll(PDO::FETCH_OBJ);
$tagsSql="select id_reference,tag FROM tags T,food F WHERE F.id=T.food_id_reference";
$stmt = $db->query($tagsSql);  
$tags=$stmt->fetchAll(PDO::FETCH_OBJ);
echo '{"results":' . json_encode($food) . '}';

我正在考虑循环遍历每一种食物和标签,并找到匹配的配对,但对我来说,这似乎是相当重要的(考虑到我可能有数千行)。你有什么意见建议?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-02 22:17:20

未经测试,但我认为这样的东西应该可以为您工作

代码语言:javascript
复制
$db = getConnection();
$stmt = $db->query($sql);//get every column from every food  
$tagsSql="select F.id as id, F.name as name, group_concat(T.tag SEPARATOR ',') as tags FROM tags T,feeds F WHERE F.id=T.feed_id_reference group by feed_id_reference";
$stmt = $db->query($tagsSql);  
for($x = 0; $x < count($tags); $x++){
    $tags[$x]->{"tags"} = explode(",", $tags[$x]->{"tags"});
    echo '{"results":' . json_encode($tags) . '}';
}   
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17426297

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档