2013-11-09 82 views
0

我有四個表格的雄辯模型;用戶,配置文件,Habs,追隨者。 我正試圖檢索用戶的所有用戶帖子和帖子的用戶追隨者。 我的桌子看起來像這樣;檢索用戶帖子和朋友帖子

哈布斯

  • ID
  • USER_ID
  • HAB
  • created_at
  • 的updated_at

用戶

  • ID
  • 用戶名
  • 電子郵件
  • created_at
  • 的updated_at

型材

  • 編號
  • user_id說明
  • 化身
  • created_at
  • 的updated_at

關注

  • ID
  • follower_id
  • following_id
  • created_at
  • 的updated_at

    我已經建立了模型中的關係。如何使用Eloquent來選擇用戶關注的用戶帖子和帖子。

+0

是'Habs'表的帖子表? – SamV

+0

@fruityp是的 – MrFoh

回答

1

嗯,我認爲你可以像這樣開始:

class Users extends Eloquent { 

    protected $table = 'users'; 

    public function profile() 
    { 
     return $this->belongsTo('Profile'); 
    } 

    public function followers() 
    { 
     return $this->hasMany('Follower', 'follower_id', 'id'); 
    } 

    public function following() 
    { 
     return $this->hasMany('Follower', 'following_id', 'id'); 
    } 

} 

class Hab extends Eloquent { 

    protected $table = 'habs'; 

    public function user() 
    { 
     return $this->belongsTo('User'); 
    } 

} 

class Follower extends Eloquent { 

    protected $table = 'followers'; 

} 

class Profile extends Eloquent { 

    protected $table = 'profiles'; 

} 

而且你應該能夠:

選擇一個用戶通常

$user = User::find(1); 

獲取其哈布斯

$habs = $user->habs; 

獲取其追隨者

$followers = $user->followers; 

獲取誰跟隨他/她

$following = $user->following; 

獲取他們的追隨者都赤潮

foreach($user->followers as $follower) 
{ 

    $followerEmail = $follower->email; 
    $followerName = $follower->profile->name; 
    $followerHabs = $follower->habs; 

} 

獲得從人,他所有的赤潮/她是繼

foreach($user->following as $following) 
{ 

    $followingEmail = $following->email; 
    $followingName = $following->profile->name; 
    $followingHabs = $following->habs; 

} 
相關問題