我试图通过使用关系从数据库中选择数据时使用paginate
。我有三个表,users
,contacts
和contact_messages
,模型 User
,Contact
,ContactMessage
分别。
我正在尝试使用以下方法获取特定用户的所有消息:
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');
}
}
答案 0 :(得分:1)
尝试以下方法:
$messages = $user->contact_messages()->paginate(10);