Php Laravel-连接3个表
我有3个表格:用户、访问、血液测试 这些表如下所示: 用户:id 访问:id,用户id 血液测试:身份证,访问身份证 我需要得到的是当前用户的“从血液测试中选择*” 我试着这样做:Php Laravel-连接3个表,php,mysql,laravel,Php,Mysql,Laravel,我有3个表格:用户、访问、血液测试 这些表如下所示: 用户:id 访问:id,用户id 血液测试:身份证,访问身份证 我需要得到的是当前用户的“从血液测试中选择*” 我试着这样做: $item = User::findOrFail($id); //get ID of current user $bt = DB::table('bloodtests') ->join('visits', 'bloodtests.visit_id', '=' ,'visits.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();
但它不起作用
感谢您提供的任何帮助:)您将通过此服务收集所有用户的数据
$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)
您正在使用此工具将所有用户数据作为集合获取
$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)
试试这个:
$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();
试试这个:
$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();
它显示了什么样的错误?不清楚。该查询不返回任何内容(应返回2条记录-基于my DBs中的数据)。您可以使用
toSql()
方法检查您的SQL数据库,它显示了什么类型的错误?不清楚。查询不返回任何内容(应返回2条记录-基于my DBs中的数据)。您可以使用toSql()
方法检查sql