如何通过laravel中的ID在我的视图中显示其他模型的名称

时间:2016-12-02 17:20:52

标签: php laravel eloquent

所以我创建了2个模特' Team' &安培; '匹配',1控制器' MatchController'和视图'匹配/ index.blade.php'。

团队模型有ID&名称。 Match模型有一个ID,homeTeam_id& awayTeam_id。 MatchController有一个索引方法。 该视图正确显示了de数据库中的所有匹配项,但是对于homeTeam_id,我想要的是从Team模型中显示团队的名称。

我该怎么做?这就是我现在所看到的:

@foreach ($matches as $key => $value)
    <tr>
        <td>{{ $value->id }}</td>
        <td>{{ $value->date }}</td>
        <td>{{ $value->homeTeam_id }}</td>
        <td>{{ $value->awayTeam_id }}</td>
    </tr>
@endforeach

1 个答案:

答案 0 :(得分:1)

您可以在TeamMatch模型之间创建两个关系:

public function homeTeam()
{
    return $this->belongsTo('App\Team', 'homeTeam_id', 'id');
}

public function awayTeam()
{
    return $this->belongsTo('App\Team', 'awayTeam_id', 'id');
}

然后加载数据:

$matches = Match::with('homeTeam', 'awayTeam')->get();

要显示团队名称,请执行以下操作:

{{ $value->homeTeam->name }}