laravel5中的一对多关系

时间:2016-09-22 07:58:56

标签: laravel model relationship one-to-many

我要表格分支和协会, 和Branch表与Association有一对多的关系。 我在两个模型中都完成了这种关系。 现在我想获得与每个分支相关的关联数。 有人可以解决我的问题吗?

2 个答案:

答案 0 :(得分:0)

如果您已经拥有模型并建立了关系。

$branches=Branch::with('associations')->get();
foreach($branches as $branch)
{
      foreach($branch->associations as $association)
      {
            print_r($associtaion->name);
      }
}

答案 1 :(得分:0)

简单方法

您只需使用

即可
$branch->associations()->count();


更有效的方式

您可以在this github issue中找到更有效的方法:

分支模型:

public function associationCountRelation()
{
    return $this->hasOne(Association::class)->select(DB::raw('id, count(*) as count'))->groupBy('id');
}

public function getAssociationCountAttribute()
{
    return $this->associationCountRelation->count;
}

然后你可以像这样使用它:

$branch = Branch::with('associationCountRelation')->find($id);

echo $branch->associationCount;