Laravel - 使用数据透视表 table 的唯一行 ID 从数据透视表 table 列获取值

Laravel - Get values from pivot table column, using pivot tables unique row ID

我正在尝试找出是否有某种方法可以根据我为每一行提供的唯一递增 ID 获取数据透视表中两列的值 table。

我有一个工作模型、一个位置模型和一个应用程序模型。

Job 和 Location 与 pivot 具有多对多关系 table "job_location"。它包含的两个外键是 job_id 和 location_id。但是,我还为每一行提供了一个唯一的递增 ID,jobloc_id。

如果我只有 jobloc_id,我如何查找其他两列的值?

 $jobLoc = $location->jobs->wherePivot('jobloc_id', '=', 1);
 return $jobLoc->job_id;

Returns "Method wherePivot does not exist" 尽管我看到有人在使用它。我只有 jobloc_id,我正在尝试基于此查找其他两个值,以便我可以完全加载 Job 和 Location 以从中提取属性。

任何指点将不胜感激。这是在 Laravel 5.3.

如果您将 ID 添加到数据透视表 table(例如 jobloc_id)并且您希望通过 ID 获取行,只需使用查询构建器:

DB::table('job_location')->where('jobloc_id', 1)->first();

当你在数据透视表中有唯一的行 ID 时,这是最快和最简单的方法 table。