thinkphp三表联合查询的一个问题

shaowei98 2015-10-14 10:35:55
我有文章表art

目录表cat

关系表relation

我用
$db=M('art');
$list = $db->join(left join relation on art.id=relation.artid')->join('left join cat on cat.id=relation.catid')->field('art.id,art.name,cat.name as catname')->select();这样输出
但是发现一篇文章有两个目录,这样同一篇文章就输出两次,这样怎么办呢
...全文
628 点赞 收藏 6
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
weixin_41432438 2019-04-01
试下用关联模型
回复
败情笔。 2018-09-03
按照文章分一下组
回复
group('relation.artid')分组就好了
回复
xuzuning 2015-10-15
你的主表是文章表,你查询的是文章的相关信息 既然 文章1 分属于 目录1 和 目录2,那么 文章1 输出 2 次 就是正常的! 只输出一次反而不正常了,没有反映出一篇文章分属于两个目录的事实
回复
果酱很好吃 2015-10-15
试试 Distinct(true) 或者 group('relation.artid')
回复
傲雪星枫 2015-10-15
你这种情况适合使用分组 group('relation.artid')
回复
相关推荐
发帖
PHP
创建于2008-08-27

1.9w+

社区成员

“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法利用了C、Java和Perl,该语言的主要目标是允许web开发人员快速编写动态网页。
申请成为版主
帖子事件
创建了帖子
2015-10-14 10:35
社区公告
暂无公告