ThinkPHP3.2.3查询多次JOIN同一张表的处理

问题:

在项目开发中遇到问题,要查询的一张主表post中有两个字段都关联了user表的id,需要取出useruser_name字段,那么应该怎么查询呢?

解决:

$posts_list = M()
    ->table('gc_post P')
    ->join('gc_user U ON P.author_id=U.id')
    ->join('gc_user U_M ON P.mentor_id=U_M.id')
    ->field('P.id, P.title, U.user_name as author_name, U_M.user_name as mentor_name,')
    ->order('P.gc_order desc')
    ->select();

这里是在ThinkPHP3.2.3下开发,给一张表取不同的别名,多次JOIN查询就可以正常取到数据了。

发表评论

电子邮件地址不会被公开。 必填项已用*标注