使用从一个表中获取的数据从另一个数据中获取数据

时间:2018-11-30 06:16:21

标签: laravel model eloquent relationship

我有三个桌子

工作模型

+---------------------------+
| id |        name          |
+---------------------------+
| 1  |     web design       |
+---------------------------+
| 2  |  desktop development |
+---------------------------+

申请人模型

+----------------------------------------------------------+
|  id  |  job_id  |  user_id  |           desc             |
+----------------------------------------------------------+
|   1  |     2    |      1    |  I am an expert developer  |
+----------------------------------------------------------+
|   2  |     2    |      2    |         I am good          |
+----------------------------------------------------------+

用户模型

+----------------+
|  id  |   name  |
+----------------+
|   1  |   john  |
+----------------+
|   2  |  steve  |
+----------------+

使用雄辩的幼虫, 如何获得job_id为“ 2”的申请人及其用户名。 尝试了很多,但不幸的是没有结果。

1 个答案:

答案 0 :(得分:0)

您将使用类似以下的查询:

$jobs = Job::where('id', 2)
    ->join('applicants', 'jobs.id', '=', 'applicants.job_id')
    ->join('users', 'applicants.user_id', '=', 'users.id')
    ->select(['user.name', 'job.name', 'applicant.desc'])
    ->get();

您将不得不将其更改为您的要求,但应根据您的需求进行更改。

您可以在此处获取更多信息:

https://laravel.com/docs/5.7/queries

希望有帮助