我试图弄清楚是否有某种方法可以根据我给每一行的唯一递增ID来获取数据透视表中两列的值。
我有一个Job模型,一个Location模型和一个Application模型。
作业和位置与数据透视表“job_location”有多对多的关系。它包含的两个外键是job_id和location_id。但是,我还为每一行提供了一个唯一的递增ID,jobloc_id。
如果我只有jobloc_id,我怎样才能查找其他两列的值?
$jobLoc = $location->jobs->wherePivot('jobloc_id', '=', 1);
return $jobLoc->job_id;
返回“方法wherePivot不存在”,即使我看过人们使用它的引用。我所拥有的只是jobloc_id,并且我正在尝试基于此查找其他两个值,以便我可以完全加载作业和位置以从中提取属性。
任何指针都将非常感激。这是在Laravel 5.3中。
答案 0 :(得分:0)
如果您已将ID添加到数据透视表(例如jobloc_id
),并且您希望按ID获取行,则只需使用查询构建器:
DB::table('job_location')->where('jobloc_id', 1)->first();
当您在数据透视表中拥有唯一的行ID时,这是最快速,最简单的方法。