0
오늘 내가 무엇을 잘못하고 있는지 알지 못하고 Laravel 4에서 1-N 관계를 유지할 수 없습니다. 많은 선수가있는 축구 팀을 설명하려고합니다. .Laravel 관계가 작동하지 않을 수 있습니다.
나는 "players.team_id"필드가 있습니다. 데이터베이스를 두 번 확인했는데 데이터는 괜찮습니다.
첫 번째 모델 :
class Team extends Eloquent {
public function players() {
return $this->hasMany('Player');
}
}
두 번째 모델 : 내 컨트롤러에서
class Player extends Eloquent {
function team() {
return $this->belongsTo('Team');
}
}
, 나는 $ 플레이어 -> 팀 만 $ 팀 -> 플레이어 항상 null retunrs를 사용할 수 있습니다.
class HomeController extends BaseController {
public function showTeam($slug) {
$team = Team::where('slug','=',$slug)->first();
// this works fine
$player = Player::find(1);
var_dump($player->team);
// this works, too.
$players = Player::where('team_id','=',516)->get();
var_dump($players);
$team = Team::where('slug','=',$slug)->first();
var_dump($team->players); // returns null
var_dump($team->players()); // throws an error
return View::make('team')
->with('team', $team);
}
}
:
Call to undefined method Illuminate\Database\Query\Builder::players()
이 내 컨트롤러는 모습입니다 : 나는 (내가 관계 설명을 참조한다)) $ 팀 -> 플레이어 (위해서 var_dump하려고하면
, 그것은 오류를 반환
모든 리드? 고마워요!
'hasMany'가 아니라'belongsToMany'가 필요합니다. –
제가 실제로 사용하고있는 것이고, 저는 질문을 업데이트했습니다. –
컨트롤러 코드를 알려주십시오. –