如何在Laravel 5.2中使用paginate与关系?
I am trying to use paginate
while selecting data from database by using relationships. I have three tables namely, users
, contacts
and contact_messages
with models User
, Contact
, ContactMessage
respectively.
I am trying to fetch all messages of a particular user by using the following method :
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);
}
By this method I am getting all messages, but I couldn't paginate $messages
. How can I paginate $messages
? Can anyone help?
My models and relationships are given below :
class User extends Authenticatable
{
public function contacts()
{
return $this->hasMany('App\Contact');
}
public function contact_messages()
{
return $this->hasManyThrough('App\ContactMessage', 'App\Contact');
}
}
and Contact Model is
class Contact extends Model
{
public function user(){
return $this->belongsTo('App\User');
}
public function messages()
{
return $this->hasMany('App\ContactMessage');
}
}
finally ContactMessage model is
class ContactMessage extends Model
{
public function contact(){
return $this->belongsTo('App\Contact');
}
}
我正在尝试使用 我正在尝试使用以下方法获取特定用户的所有消息: p>
通过这种方法我收到所有消息,但是我 无法对 我的模型和关系如下: p>
和联系模型 p>
最后ContactMessage模型 p>
paginate code>,同时使用关系从数据库中选择数据。 我有三个 strong>表,
用户 code>,
contacts code>和
contact_messages code>与模型 strong> 用户 code>,
联系 code>,
ContactMessage code>。 p>
public function listMessage($ user_id){
$ user1 = User :: find($ user_id);
$ messages = $ user1-> contact_messages;
返回View :: make('message.listmessage')
- > with('user_id' ,$ user_id)
- > with('messages',$ messages);
}
code> pre>
$ messages code>进行分页。 如何分页
$ messages code>? 有人可以帮忙吗? p>
class用户扩展Authenticatable
{
公共功能联系人( )
{
返回$ this-> hasMany('App \ Contact');
}
公共函数contact_messages()
{
返回$ this-> hasManyThrough('App \ ContactMessage', 'App \ Contact');
}
}
code> pre>
class联系 扩展Model
{
公共函数user(){
返回$ this-> belongsTo('App \ User');
}
公共函数消息()
{
返回$ this - > hasMany('App \ ContactMessage');
}
}
code> pre>
class ContactMessage扩展Model
{
公共函数contact(){
返回$ this-> belongsTo('App \ Contact');
}
}
code> pre >
div>
Try the following:
$messages = $user->contact_messages()->paginate(10);