表連接查詢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(就是被激活人的姓名)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章