php - 使用 Laravel 连接查询

标签 php mysql laravel

我真的对 laravel 上的连接感到困惑。

我有一个users表和一个students_subjects表,在students_subjects表中我有一个subject_id列和 user_id 列,我尝试通过 teachers_subjects 表中的 user_id 获取具有相同 subject_id 的用户列表 Students_subjects 列。

我已经尝试过:

$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();

但是我遇到了一些错误...如果有人可以向我展示应该如何完成它,这样我就可以了解如何在 laravel 中进行连接工作,那就太好了。

结构:

users table :
- id
- name
- last name

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

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

最佳答案

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

$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();

您可能需要对此进行调整才能准确获得您正在寻找的内容。

关于php - 使用 Laravel 连接查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51505100/

相关文章:

php - 在 laravel 中包含外部 php 文件(不在 laravel 目录中)

laravel - 无法在 Laravel API 中启用 CORS?

php - CakePHP session /身份验证间歇性注销

php - 在doctrine中插入json不起作用

java - org.hibernate.criterion.Restrictions 的 MYSQL 表列名称中的下划线抛出异常

PHP/JS - 游戏排行榜

php - 当右表中的记录不可用时,Laravel 左连接返回空结果

Php代码,给foreach循环添加一个条件

php - MyISAM 和 InnoDB 中的单个 mysql 语句是原子的吗?

php - 使用 php 从数据库检索表,然后选择特定项目