thinkphp多表查询问题

有两张表users和topics 就是用户表和帖子表
现在想取出topics所有的帖子 但是帖子肯定没用户头像数据 我要根据topics里面的username去users表提取头像地址 求大神怎么写比较好

阅读 2.8k
2 个回答

不知道你的表是怎么设计的, 如果用户头像在 users 表

select t.*, a.avatar(你自己的字段名) from topics as t
left join users as u on t.username=u.username -- 关联用户表

如果 头像是张独立的表 那肯定有个用户和头像的关联表

select t.*, a.avatar(你自己的字段名) from topics as t
left join users as u on t.username=u.username -- 关联用户表
left join user_avatar as ua on u.uid=ua.uid -- 用户头像关联表 关联的字段取你表设计时的关联字段
left join avatar as a on ua.aid=a.id -- 头像表

是不建议你去用关联模型的, 关联模型很不适合这种多表操作, 直接执行 sql 查询吧

新手上路,请多包涵

一般不是username 取头像是通过user_id取users里的头像
$topicsData = $topicsModel->field('a.,f.')->table('topics as a')->join('LEFT JOIN users as f ON f.id = a.user_id')->where($where)->select();

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进