2016-08-03 78 views
0

我嘗試使用paginate,同時使用關係從數據庫中選擇數據。我有表,即users,分別contactscontact_messages模式UserContactContactMessage如何在Laravel 5.2中使用paginate和關係?

我嘗試使用下面的方法來獲取特定用戶的所有消息:

public function listMessage($user_id){ 
     $user1 = User::find($user_id); 
     $messages = $user1->contact_messages; 
     return View::make('message.listmessage') 
     ->with('user_id', $user_id) 
     ->with('messages', $messages); 
    } 

通過這種方法,我得到的所有消息,但我無法分頁$messages。我如何分頁$messages?誰能幫忙?

我的模型和關係如下:

class User extends Authenticatable 
{ 
    public function contacts() 
    { 
     return $this->hasMany('App\Contact'); 
    } 
    public function contact_messages() 
    { 
     return $this->hasManyThrough('App\ContactMessage', 'App\Contact'); 
    } 
} 

和接觸模型是

class Contact extends Model 
{ 
    public function user(){ 
     return $this->belongsTo('App\User'); 
    } 

    public function messages() 
    { 
     return $this->hasMany('App\ContactMessage'); 
    } 
} 

終於ContactMessage模型

class ContactMessage extends Model 
{ 
    public function contact(){ 
     return $this->belongsTo('App\Contact'); 
    } 
} 

回答

1

嘗試以下操作:

$messages = $user->contact_messages()->paginate(10); 
+0

非常感謝。它工作得很好 – manoos