2013-08-14 6 views
-1

관계를 정의 할 수있는 방법을 찾을 수 없습니다.Laravel 4 relationships

public function skills() 
{ 
    return $this->hasMany('Skill', 'player_skills', 'skillid', 'player_id'); 
} 

아직도 가리키는 U ndefined property: Illuminate\Database\Eloquent\Collection::$players 오류가 : PHP/Laravel/Bootsrap fetch data

는이 같은 기술의 관계를 정의한 다음은 내 앞의 질문은 내가 무엇을 찾고 찾는을 검토 할 수있다 $skills->players as $player.

+0

당신이 오류가 발생하는에 대한 코드를 게시 할 수 무엇을 찾고? 당신이 게시 한 코드는 오류와 아무 관계가 없습니다. –

+0

@TryingTobemyself http://paste.laravel.com/JoD – dinomuharemagic

+0

어디에서'$ 스킬 '을 얻고 있습니까? 모델 코드 ?? –

답변

0

먼저 hasMany 함수를 사용하면 일대 다 관계를 설정하지만 피벗 테이블 이름을 매개 변수로 보내고있는 것처럼 보입니다.이 매개 변수는 매개 변수로만 필요합니다. 다 대다. ,

나는 당신이 실제로 많은 관계에 많은 원하는 열쇠가 정확한지 가정거야 (그들은 질문에 당신이 연결되어 있지만, skillid 여기에 다른, 그래서 skill_id 함께 가자) 또한

을 데이터를 반복하는 방식이 잘못되었습니다. $players에는 skills이 없으므로 $players->skills은 아무런 의미가 없지만 $player이 있습니다. 여기

, 나는 다 대다 관계가 Laravel에서 작동하는 방법에 대한 몇 가지 혼란이있을 수 있습니다 생각 ... 당신이 준 최신 정보와 http://paste.laravel.com/Jp8

내가 지금까지있는 것입니다. 당신이 기회를 얻을 때이를 확인하시기 바랍니다, 그것은 꽤 가까이 있어야 당신이 ... http://paste.laravel.com/JqV

+0

오류가 발생합니다. http://paste.laravel.com/Jrh 'players'는 별도의 테이블이고 'player_skills'는 별도의 테이블입니다. – dinomuharemagic

+0

필자는 피벗 설정을위한 추가 테이블이 필요하다고 생각합니다. 붙여 넣기를 수정하여 몇 가지 추가 설명을하고 매개 변수 중 일부를 사용자가 정확히 일치하도록 수정했습니다. 다행히도 도움이 되었으면 ... http://paste.laravel.com/JrP – user1669496

+0

오류가 다시 발생합니다. http://paste.laravel.com/JtK – dinomuharemagic