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();这样输出
但是发现一篇文章有两个目录,这样同一篇文章就输出两次,这样怎么办呢
...全文
688 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_41432438 2019-04-01
  • 打赏
  • 举报
回复
试下用关联模型
败情笔。 2018-09-03
  • 打赏
  • 举报
回复
按照文章分一下组
misaka去年夏天 2015-10-15
  • 打赏
  • 举报
回复
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')

20,359

社区成员

发帖
与我相关
我的任务
社区描述
“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法利用了C、Java和Perl,该语言的主要目标是允许web开发人员快速编写动态网页。
phpphpstorm 技术论坛(原bbs)
社区管理员
  • 开源资源社区
  • phpstory
  • xuzuning
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧