表连接查询ID的人名

现在有个激活记录表和用户表

激活记录表:

 

用户表:


 

$logs = M('activatelog')
                ->join('left join member on activatelog.id=member.id')
                ->join('left join activetype on activetype.a_id=activatelog.dengji')
                ->where("activatelog.id=$id")->field('member.nickname,maney,o_time,activatelog.u_id,a_type')
                ->limit($page*$list, $list)
                ->order("o_time desc")->select();

现在我想查被激活人的姓名,在激活记录表里只有激活人的ID,没有激活人的姓名,正常情况下,表连接查询ID轻而易举就能查到,但是又想通过ID来查找这个人的姓名,只需在加个判断。

$logs = M('activatelog')
                ->join('left join member on activatelog.id=member.id')
                ->join('left join activetype on activetype.a_id=activatelog.dengji')
                ->join('left join member b on b.id=activatelog.u_id')
                ->where("activatelog.id=$id")->field('b.nickname as bname,member.nickname,maney,o_time,activatelog.u_id,a_type')
                ->limit($page*$list, $list)
                ->order("o_time desc")->select();

在加个join连接,在让用户表和激活记录表进行连接,正常情况下,是让用户表的id和激活记录表id(激活人的id)进行相连。这次我们让用户表的id和记录表的u_id(被激活人的id)进行连接,将member表重命名为b,获取b.nickname(就是被激活人的姓名)。

猜你喜欢

转载自blog.csdn.net/qq_42249896/article/details/84489036