多重关系

时间:2019-05-15 15:26:10

标签: laravel eloquent

我有4张桌子:

  • 候选人[id,family_name等]
  • 顾问[id,family_name等]
  • 会议[id,consultant_id等]
  • candidate_meeting [id,候选人ID,meeting_id]

一次会议只有一名顾问,一次会议有数名候选人。 我想找到顾问的所有候选人。

不幸的是,无论是通过“具有遍历”关系还是多态关系,我都无法做到这一点。

您能告诉我数据库模式是否适合雄辩使用,还是应该修改该模式?

Thx,

1 个答案:

答案 0 :(得分:0)

Laravel不支持直接关系。

我已经为以下情况创建了一个程序包:https://github.com/staudenmeir/eloquent-has-many-deep

class Consultant extends Model
{
    use \Staudenmeir\EloquentHasManyDeep\HasRelationships;

    public function candidates()
    {
        return $this->hasManyDeep(Candidate::class, [Meeting::class, 'candidate_meeting']);
    }
}

Consultant::find($id)->candidates;