小编asi*_*sim的帖子

与laravel中的多对多关系分页

我正在尝试在laravel 4.2中设置电子邮件系统.我有两个模型电子邮件和用户,他们之间有很多对多的关系.到目前为止一切都很好,但现在我只是在发送电子邮件时遇到问题.我已经尝试了2天,但还没有完成任务.

    //User.php    Model
    public function emails()
    {   
        return $this->belongsToMany('Email', 'users_email', 'reciever_uid','email_id')->
         withPivot('sender_UID');
    }

    //Email.php  Model
    public function users()
    {   
        return $this->belongsToMany('User', 'users_email', 'email_id','reciever_id');
    }
Run Code Online (Sandbox Code Playgroud)

我试图获取users_email数据透视表数据,以获取当前经过身份验证的用户QueryBuilder的所有电子邮件ID.

    $user=Auth::Id();
    $user_data=DB::table('users_email')->
    join('users','users_email.reciever_uid','=','users.Id')->
    where('users_email.sender_uid','=',$user->Id)->orderby   
    ('users_email.email_id','desc')->get();

    foreach ($user_data as $data) {
    $id[]=$data->email_id;
   }
Run Code Online (Sandbox Code Playgroud)

现在我有$ id数组,我想获取所有电子邮件以及要显示的接收器的f_name和l_name.到目前为止,我已经尝试了一些基本知识的热切加载,但无法获得预期的结果.我已经尝试过这个来分配$ id内的所有电子邮件,但getTotal只返回2,即使下面显示的图片指定id = 78的电子邮件已经发送了8个以上,所以我想通过电子邮件进行分页.Ex准备只有10封电子邮件.

    $pagination=User::with(array('emails'=>function($query) use ($id){
        $query->WhereIn('users_email.email_id',$id);
    }))->paginate(10);
Run Code Online (Sandbox Code Playgroud)

任何帮助将非常感激.

谢谢

数据透视表users_email

在此输入图像描述

mysql email pagination laravel eloquent

0
推荐指数
1
解决办法
2790
查看次数

标签 统计

eloquent ×1

email ×1

laravel ×1

mysql ×1

pagination ×1