我试图根据给我每一行的唯一递增ID,找出是否有某种方法可以获取数据透视表中两列的值。
我有一个工作模型,一个位置模型和一个应用程序模型。
作业和位置与数据透视表“ job_location”具有多对多关系。它包含的两个外键是job_id和location_id。但是,我还为每一行赋予了唯一的递增ID,即jobloc_id。
如果我只有jobloc_id,该如何查找其他两列的值?
$jobLoc = $location->jobs->wherePivot('jobloc_id', '=', 1);
return $jobLoc->job_id;
即使我看到使用它的人的引用,也会返回“不存在其中透视表的方法”。我所拥有的只是jobloc_id,并且正在尝试以此为基础查找其他两个值,以便我可以完全加载Job和Location以从中提取属性。
任何指针将不胜感激。这是在Laravel 5.3中。
如果您将ID添加到数据透视表(jobloc_id
例如),并且想要按ID获取行,则只需使用查询生成器即可:
DB::table('job_location')->where('jobloc_id', 1)->first();
当数据透视表中具有唯一的行ID时,这是最快,最简单的方法。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句