我正在用 laravel 做项目。
数据库表1
user_verification
------------------------------------------
'id', 'user_id', 'verified', 'verified_by'
数据库表2
user
-----------------------------
'id', 'name', 'email', 'pass'
我想获取所有经过验证的用户('verified' = 1)和进行验证的用户名('verified_by' 是用户表中的用户 ID)的数据。
我的 Controller 方法是这样的,
public function verifiedProviders(){
//$user_data = sql query goes here...
return view('display',compact('user_data '));
}
例如:、
我想在 Blade 文件中显示如下
name:abc,
email:abc@gmail.com,
verified by: name (id present in *verified_by* field) from *user* table.
我不知道如何在 laravel 的 blade 文件中获取和显示这些数据。如何使用关系 Eloquent 法或数据库查询。提前致谢。
最佳答案
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 个结果并显示它们等。
引用资料:
关于php - 无法从laravel中的两个表中获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36736054/