我在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方法或数据库查询。提前谢谢。
答案 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个结果并显示它们等等。
参考文献: