使用laravel连接查询

bybem2ql  于 2021-06-20  发布在  Mysql
关注(0)|答案(2)|浏览(337)

我真的被拉维尔的加入搞糊涂了。
我有一个 users 有一张table students_subjects table,在 students_subjects 我有张table subject_id 列和a user_id 列,我正在尝试按 user_idteachers_subjects 同一张table subject_id 在学生们的专栏里。
我试过:

$user_id = Auth::user()->id;
$results = DB::table('users')
->join('students_subjects', 'students_subjects.subject_id', '=', 'teachers_subjects.subject_id')
->where('students_subjects.user_id', $user_id)
->get();

但是我有一些错误。。。如果有人能告诉我应该怎么做,这样我就可以了解如何在拉雷维尔工作的伟大。
结构:

users table :
- id
- name
- last name

students_subjects :
- subject_id
- user_id (users->id)

teachers_subjects :
- subject_id
- teacher_id (users->id)
vs91vp4v

vs91vp4v1#

您需要为两个表添加联接:

$user_id = Auth::user()->id;
$results = DB::table('users')
->join('students_subjects', 'users.id', '=', 'students_subjects.user_id')
->join('teachers_subjects', 'students_subjects.subject_id', '=', 'teachers_subjects.subject_id')
->where('students_subjects.user_id', $user_id)
->get();

你可能需要调整这个来得到你想要的。

rjee0c15

rjee0c152#

如果您不知道如何使用laravel雄辩的查询,那么您可以使用laravel执行原始查询,如果您对它感到满意的话

$cards = DB::select("SELECT * FROM TABLE");

这样您就可以轻松地运行您的查询,而无需任何其他rnd

相关问题