用两个不同的列laravel连接同一张表

The*_*ock 0 mysql mysql-workbench laravel laravel-5

我在MySQl中尝试以下代码:

SELECT      
     A.*, 
     B.name,
     C.name
FROM 
     eventlog_tbl as A
     LEFT JOIN users B ON A.byuser=B.email 
     LEFT JOIN users C ON A.affectiveuser=C.email;
Run Code Online (Sandbox Code Playgroud)

我在Laravel中尝试这些

return DB::table('eventlog_tbl')
            ->leftjoin('users', 'users.email', '=', 'eventlog_tbl.byuser')
            ->leftjoin('users', 'users.email', '=', 'eventlog_tbl.affectiveuser')
            ->select('eventlog_tbl.*','users.name','users.name')
            ->get();
Run Code Online (Sandbox Code Playgroud)

如何将其转换为Laravel?

小智 6

试试下面的代码:

$res =  DB::table('eventlog_tbl')
        ->leftjoin('users AS A', 'A.email', '=', 'eventlog_tbl.byuser')
        ->leftjoin('users AS B', 'B.email', '=', 'eventlog_tbl.affectiveuser')
        ->select('eventlog_tbl.*','A.name as byuser_name','B.name as affectiveuser_name')
        ->get();

    print_r($res);
Run Code Online (Sandbox Code Playgroud)