如何将条件应用于Laravel雄辩的关系

时间:2019-01-28 07:41:47

标签: database laravel eloquent laravel-5.4

我有一个ProcessHistory和Person模型,我需要一个雄辩的代码来与多个条件建立关系。 条件:     1. oindex = oindex     2. pat_id = pat_id

我想要一个雄辩的代码来获取以下sql代码的结果

select * from tbl_process_history as s join tbl_persons as p on (s.oindex = p.oindex and s.pat_id = p.pat_id)

我需要让所有具有相同oindex和pat_id的人。我尝试使用下面雄辩的代码,在其中我可以在'own'关系中应用条件。在这里,我只能申请作为静态值。

ProcessHistory::with(['own'=>function($query){
                return $query->where('pat_id','');
            }])->get();

我需要一个关系内的条件,我可以将流程历史记录模型的pat_id与人员模型进行匹配。

2 个答案:

答案 0 :(得分:1)

我刚刚发现我实际上是在寻找与组合键的关系,但是laravel中没有提供此功能。可以使用https://github.com/topclaudy/compoships包来解决。

答案 1 :(得分:0)

  

ProcessHistory :: with(['own'=> function($ query)use($ param){                   返回$ query-> where('pat_id',$ param);               }])-> get();