[英]How to use paginate with relationships in Laravel 5.2?
我试图通过使用关系从数据库中选择数据时使用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');
}
}
请尝试以下操作:
$messages = $user->contact_messages()->paginate(10);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.