繁体   English   中英

如何在Laravel 5.2中对关系使用分页?

[英]How to use paginate with relationships in Laravel 5.2?

我试图通过使用关系从数据库中选择数据时使用paginate 我有三个表,分别是userscontactscontact_messages ,分别具有模型 UserContactContactMessage

我正在尝试使用以下方法来获取特定用户的所有消息:

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM