Laravel中的关系问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Laravel中的关系问题相关的知识,希望对你有一定的参考价值。

我有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

答案

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

型号: - Applicants.php

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

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

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

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

以上是关于Laravel中的关系问题的主要内容,如果未能解决你的问题,请参考以下文章

laravel特殊功能代码片段集合

尝试在 laravel 中的表或关系中搜索

使用关系访问数据 Laravel

Laravel count 中的行数有很多关系

Laravel 数据库关系

Laravel 8 - 当工厂中的自引用关系时,该过程已用信号“11”发出信号