Laravel中的关系问题

问题描述 投票:0回答:1

我有3张桌子applicantsskillsapplicant_skill。这里applicant_skill是数据透视表。 applicant_skill表有2列applicant_idskill_id。一个Applicant有很多Skills。一个Skill有很多Applicants

我在模型Applicants.php中写了下面的函数

public function applicantSkill()
    {
        return $this->belongsToMany(ApplicantSkill::class);
    }

我在模型Skills.php中写了下面的函数

public function applicantSkill()
{
    return $this->belongsTo(Applicant_skill::class);
}

我在模型ApplicantSkill.php中写了下面的函数

public function Applicants()
{
    return $this->belongsTo(Applicants::class);
}

我想尝试在applicants中获取ApplicantController.php,如下所示

$applicants = Applicants::with('applicant_skill', 'applicant_skill.skills')->paginate();

我收到了以下错误。

enter image description here

model relational-database laravel-5.5
1个回答
1
投票

您必须使用您在模型中定义的关系。

型号: - Applicants.php

public function Applicants()
{
    return $this->belongsTo(Applicants::class);
}

你可以在控制器中使用关系,

$applicants = Applicants::with('Applicants')->paginate();

你可以在这里参考doc,Laravel-Eloquent-Relationships

© www.soinside.com 2019 - 2024. All rights reserved.