thinkphp多表查询问题


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

thinkphp

狗血草泥马 9 years, 10 months ago

一般不是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();

斌斌吃辣吃到爽 answered 9 years, 10 months ago

不知道你的表是怎么设计的, 如果用户头像在 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 查询吧

恋爱必须禁止 answered 9 years, 10 months ago

Your Answer