2013-08-16 43 views
0

我在我的用戶模型(我使用Laravel的默認用戶模型)中有一個函數,它與玩家模型有關係。Laravel 4檢索

我要檢索的玩家的ID,但我不能。無論如何去做?我已經試過類似:

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

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

,但它不工作。任何提示?

回答

1

這取決於你的關係的類型。從你提供的代碼中,我可以猜測這種關係被稱爲'玩家'而不是'玩家'(這意味着你的用戶模型中應該有一個players()函數)。如果是這種情況,則比您的代碼

Auth::user()->players 

返回一組玩家。您可以循環播放這個集合並獲得播放器的ID:

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

希望能夠澄清一些事情。如果沒有,請提供關於用戶和玩家模型之間關係的更多細節。 你也可以在這裏找到更多的細節:http://laravel.com/docs/eloquent#relationships

+0

達暫準h​​rvat?我做了所有這些,我正在創建某種公會(http://paste.laravel.com/JWI),我怎麼能在那裏輸入ID?我需要一個foreach嗎? –

+0

Crnogorac :)你確定你與用戶之間的關係邏輯是正確的嗎?爲什麼一個用戶有更多的玩家?用戶是否真的是自己的球員?如果是這樣,比你要麼不需要用戶或你不需要玩家模型,你可以使用一個,然後:$公會 - > ownerid = Auth :: user() - > ID; –

+0

一個用戶可以擁有更多的玩家,但用戶實際上並不是他自己的玩家。如果是這樣的話,那會很容易。這就是問題所在。 –