显示具有匹配ID字段的用户
只有在staffID(员工表)== id(staff表)时才返回工作人员详细信息
下面是我的数据库架构
Staff('id' , 'username' , 'location');
Employer('id' , 'employerID','staffID' );
下面是我尝试过的内容,但是它没有返回任何内容,我也将其返回到我的刀片文件和一个@foreach
循环来获取数据。
我尝试过一种模型方法,但是没有运气。
$following = DB::table('staff')
->select('username')
->join('employer' , 'employer.staffID', '=', 'staff.id')
->where('employer.employer_id' , '=', Auth::id())
->where('employer.staffID' ,'=', 'staff.id')
->get();
下面是我如何将查询结果显示在刀片中的方法
@foreach ($following as $userFound)
<p> {{ $userFound->username}}</p>
@endforeach
答案 0 :(得分:4)
尝试这个:
$following = DB::table('staff')
$records = following::where('employerID', '=', Auth::user()->id)
->whereRaw('employerID = staffID')->get();
拉瓦雷尔5.2及更高版本的另一种方法是whereColumn
:
$records = following::where('employerID', '=', Auth::user()->id)
->whereColumn('employerID', 'staffID')->get();
答案 1 :(得分:0)
使用原始SQL
$query = "SELECT username
FROM employer JOIN staff ON employee.staffID = staff.id
WHERE employerID = ?";
$params = [Auth::id()];
$following = \DB::select($query , $params);