使用Laravel检索关系的关系

时间:2019-02-19 11:15:14

标签: laravel

我需要邀请列表以显示正在显示谁的邀请。但是我认为我需要检索关系的关系

我的关系:

  • CompanyModel
  • InviteModel

所以我看一下“ Eager Loading”的文档,但是我不知道它是如何工作的以及我该如何使用它。.

 public function company() {

    return $this->belongsTo( 'App\Models\Manage\Company' );
}

public function invites() {

    return $this->hasMany( 'App\Models\Manage\Invite' )->orderBy('email')->orderBy('id');
}

2 个答案:

答案 0 :(得分:0)

如果您获得具有邀请关系的公司数据。

尝试

$company = CompanyModel::with('invites')->get();
dd($company);

答案 1 :(得分:0)

考虑到一家公司的关系,可能会有多次邀请:

Compony型号:

public function invites() {

    return $this->hasMany( 'App\Models\Manage\Invite' )->orderBy('email')->orderBy('id');
}

Invite型号:

public function company() {

    return $this->belongsTo( 'App\Models\Manage\Company' );
}

获取特定公司的邀请:

$company = Company::find($companyId);
$invites = $company->invites;

获取所有公司及其各自的邀请:

$companies = Company::with('invites')->get();

然后,您可以浏览公司并获取每个公司的邀请:

foreach($companies as $company){
    $invites = $company->invites;
}