在Laravel Eloquent中连接表格

时间:2019-07-29 06:25:36

标签: mysql laravel eloquent

我有三个这样的表:

user(id, name, department_id)
user_verify(id, code, user_id, department_id)
department(id, name)

我想查询表user_verify并与其他表联接以获得用户名和部门名称。

我在模型中尝试过:

class ListUserVerify extends Model
{
    protected $table = 'user_verify';


    public function getUserVerify()
    {
        return $this->select("{$this->table}.code",'user.fullname','department.name')
                    ->join('user', 'user.id', '=', "{$this->table}.user_id")
                    ->join('department', 'department.id', '=', "{$this->table}.department_id")
                    ->get();
    }
}

但是此函数返回null,我不知道查询出了什么问题。

您能告诉我我做错了什么吗?

非常感谢您!

2 个答案:

答案 0 :(得分:0)

尝试一下。

return \DB::table("{$this->table}")->select("{$this->table}.code",'user.fullname','department.name')
                ->join('user', 'user.id', '=', "{$this->table}.user_id")
                ->join('department', 'department.id', '=', "{$this->table}.department_id")
                ->get();

答案 1 :(得分:0)

尝试一下

return DB::table('user_verify')->leftjoin('user','user.id','=','user_verify.user_id')
           ->leftjoin('department','department.id','=','user_verify.department_id')
           ->select('user.name as username','department.name as departmentname')
           ->get();