2013-08-16 4 views
0

Player 모델과의 관계인 내 사용자 모델 (Laravel의 기본 사용자 모델 사용)에 함수가 있습니다.Laravel 4 검색

Player의 ID를 검색하고 싶지만 실행할 수 없습니다. 어쨌든 그것을 할 수 있습니까?

Auth::user()->players->id; 

또는

Auth::user()->id->players; 

가 있지만 작동하지 않습니다 : 내가 좋아하는 뭔가를 시도했습니다. 어떤 힌트?

답변

1

귀하의 관계 유형에 따라 다릅니다. 제공 한 코드에서 관계가 '플레이어'가 아니라 '플레이어'가 아니라는 것을 추측 할 수 있습니다. 즉, 사용자 모델 내에 players() 함수가 있어야합니다. 이 경우, 코드보다

Auth::user()->players 

선수의 컬렉션을 반환합니다. 이 일을 조금 명확히

foreach (Auth::user()->players as $player) 
{ 
    $playerId = $player->id; 
    // Do more stuff for a single player here 
} 

희망 : 당신은 선수의이 컬렉션을 통해 루프를 얻을 ID를 할 수 있습니다. 그렇지 않은 경우 사용자 및 플레이어 모델 간의 관계에 대해 자세히 설명해주십시오. 여기에서 자세한 내용을 확인할 수도 있습니다. http://laravel.com/docs/eloquent#relationships

+0

da nisi hrvat? 나는 그 모든 것을했는데, 어떤 종류의 길드 (http://paste.laravel.com/JWI)를 만들고 있는데, 어떻게 ID를 입력 할 수 있습니까? 거기에 foreach가 필요합니까? –

+0

Crnogorac :) 사용자와 플레이어 간의 관계 논리가 맞습니까? 왜 한 명의 사용자가 더 많은 선수를 보유합니까? 사용자가 실제로 플레이어 자신입니까? 그렇다면 User가 필요하지 않거나 Player 모델이 필요하지 않은 것보다 작업 할 수 있습니다. $ guild-> ownerid = Auth :: user() -> id; –

+0

한 명의 사용자가 더 많은 플레이어를 가질 수 있지만 사용자는 실제로 플레이어 자신이 아닙니다. 그것이 그렇게라면, 그것은 쉽게 롤 것입니다. 그것이 바로 문제입니다. –