【发布时间】:2016-10-07 20:07:42
【问题描述】:
我有两张桌子: 具有 id、group_id 和 name 的团队 带有 id、home_team_id、away_team_id、日期和比分的比赛
正如您在我的游戏表中看到的,有两个外键(home_team_id 和 away_team_id)指向同一个表(teams)。 我如何用 laravel eloquent 映射这些关系? 我试过了,但失败了:
namespace App;
use Illuminate\Database\Eloquent\Model;
class Team extends Model
{
public function group(){
return $this->belongsTo('App\Group');
}
public function games(){
return $this->hasMany('App\Game');
}
}
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Game extends Model
{
public function homeTeam(){
$this->belongsTo('App\Team', 'home_team_id');
}
public function awayTeam(){
$this->belongsTo('App\Team', 'away_team_id');
}
public function bets(){
$this->hasMany('App\Bet');
}
}
在我看来,我想调用 home_team->name 和 away_team->name:
<td>{{ $game->homeTeam->name }}</td>
<td>{{ $game->awayTeam->name }}</td>
我收到此错误: 关系方法必须返回 Illuminate\Database\Eloquent\Relations\Relation 类型的对象
和
Relationship 方法必须返回 Illuminate\Database\Eloquent\Relations\Relation 类型的对象(查看:/home/vagrant/Code/em/resources/views/schedule/index.blade.php)
【问题讨论】:
标签: javascript mysql laravel-5 eloquent