我有三个表:用户,访问,血检,
这些桌子看起来如下:
用户: id
访问: id,user_id
血检: id,visit_id
我需要得到的是当前用户的“从血液测试中选择*”
我试过这样做:
$item = User::findOrFail($id); //get ID of current user
$bt = DB::table('bloodtests')
->join('visits', 'bloodtests.visit_id', '=' ,'visits.id')
->join('users', 'visits.user_id', '=' ,'users.id')
->select(
'bloodtests.id',
'bloodtests.visit_id')
->where('users.id', $item)
->get();但它不起作用。
如有任何帮助,我们将不胜感激:)
发布于 2018-08-05 19:06:11
试试这个:
$item = User::findOrFail($id);
$bt = DB::table('bloodtests')
->join('visits', 'bloodtests.visit_id', '=' ,'visits.id')
->join('users', 'visits.user_id', '=' ,'users.id')
->select(
'bloodtests.id',
'bloodtests.visit_id')
->where('users.id', $item->id)
->get();发布于 2018-08-05 17:36:10
作为集合,您将获得所有用户数据。
$item = User::findOrFail($id);您只需要通过\Auth::id()提供当前用户的id,或者直接使用$id代替$item
$bt = DB::table('bloodtests')
->join('visits', 'bloodtests.visit_id', '=' ,'visits.id')
->join('users', 'visits.user_id', '=' ,'users.id')
->select(
'bloodtests.id',
'bloodtests.visit_id')
->where('users.id', \Auth::id())
->get();或直接使用$id
->where('users.id', $id)发布于 2018-08-06 01:55:56
$item = User::findOrFail($id); //get ID of current user
$bt = DB::table('bloodtests')
->join('visits', 'bloodtests.visit_id', '=' ,'visits.id')
->join('users', 'visits.user_id', '=' ,'users.id')
->select(
'bloodtests.id',
'bloodtests.visit_id')
->where('users.id', $id)
->get();https://stackoverflow.com/questions/51696591
复制相似问题