无法从laravel中的两个表中获取数据

时间:2016-04-20 06:57:18

标签: php mysql laravel

我在laravel做项目。

数据库表1

user_verification
------------------------------------------
'id', 'user_id', 'verified', 'verified_by' 

数据库表2

user
-----------------------------
'id', 'name', 'email', 'pass'

我想获取数据,因为所有经过验证的用户('已验证'= 1)和用户名('verified_by'是用户表中的用户ID)都会进行验证。

我的控制器方法就像,

public function verifiedProviders(){
    //$user_data = sql query goes here...
    return view('display',compact('user_data '));
}

例如:

我想在刀片文件中显示如下

name:abc,
email:abc@gmail.com,
verified by: name (id present in *verified_by* field) from *user* table.

我没有得到如何在laravel的刀片文件中获取和显示这些数据。如何使用关系eloquent方法或数据库查询。提前谢谢。

1 个答案:

答案 0 :(得分:0)

User::select('name', 'email', 'u2.name as verified_by_name')
    ->join('user_verification', 'user_verification.user_id', '=', 'user.id')
    ->join('user u2', 'user_verification.verified_by', '=', 'u2.id')
    ->all(); // I guess

当然,您可能希望将查询限制为仅返回前25个结果并显示它们等等。

参考文献: