$res3 =   DB::table('users')
->join('user_folow_boutiques', 'user_folow_boutiques.user_id', '=', 'users.id')
->join('boutique', 'boutique.id', '=', 'user_folow_boutiques.boutique_id')
->join('type_article', 'type_article.boutique_id', '=', 'boutique.id')
->join('article', 'type_article.id', '=', 'article.type_article_id')
->join(DB::raw('(SELECT article.id c_id, count(user_aime_article.id) as nbrlik FROM article JOIN user_aime_article on user_aime_article.article_id = article.id GROUP BY user_aime_article.article_id) e'),'article.id','=','e.c_id')
->where('users.id','=',$user_id)
->where('e.nbrlik','=',50)
->select(DB::raw('article.*,article.created_at as date, e.nbrlik'))
->union($res)
->union($res2)
->groupBy('article.id')
->orderBy('date','DESC');
$sql = $res3->toSql(); $result = \DB::table(\DB::raw("($sql) as a"))->mergeBindings($res3)
->Paginate(10);
 public static function getActu($user_id,$page){
$paginate = 5;
// 1 selectionnée tous les article publier par les shop suivi
$res = DB::table('users')
->join('user_folow_boutiques', 'user_folow_boutiques.user_id', '=', 'users.id')
->join('boutique', 'boutique.id', '=', 'user_folow_boutiques.boutique_id')
->join('type_article', 'type_article.boutique_id', '=', 'boutique.id')
->join('article', 'type_article.id', '=', 'article.type_article_id')
->where('users.id','=',$user_id)
->select(DB::raw('article.*,article.created_at as date,null as nbrlik')); // 2 Selectionnée tous les produit amai par les utilisateur suivit Arevoir demain
$res2 = DB::table('users')
->join('user_follow_user', 'user_follow_user.user_id_1', '=', 'users.id')
->join('user_aime_article', 'user_follow_user.user_id_2', '=', 'user_aime_article.user_id')
->join('article', 'user_aime_article.article_id', '=', 'article.id')
->where('users.id','=',$user_id)
->select(DB::raw('article.*,user_aime_article.created_at as date, null as nbrlik') )
->distinct();
// Selectioner tous les proiduit des boutique suivi par le user qui ont 50 j'aime
$res3 = DB::table('users')
->join('user_folow_boutiques', 'user_folow_boutiques.user_id', '=', 'users.id')
->join('boutique', 'boutique.id', '=', 'user_folow_boutiques.boutique_id')
->join('type_article', 'type_article.boutique_id', '=', 'boutique.id')
->join('article', 'type_article.id', '=', 'article.type_article_id')
->join(DB::raw('(SELECT article.id c_id, count(user_aime_article.id) as nbrlik FROM article JOIN user_aime_article on user_aime_article.article_id = article.id GROUP BY user_aime_article.article_id) e'),'article.id','=','e.c_id')
->where('users.id','=',$user_id)
->where('e.nbrlik','=',50)
->select(DB::raw('article.*,article.created_at as date, e.nbrlik'))
->union($res)
->union($res2)
->groupBy('article.id')
->orderBy('date','DESC')
->skip($paginate * ($page - 1) )->take($paginate)->get();
return $res3;
}

group by和union,Laravel分页的更多相关文章

  1. Laravel 分页详解

    Laravel分页很简单,但功能又很强大噢! 首先在控制器的方法中使用paginate(页面显示条数)方法,传入页面显示的条数 然后在模板页面使用方法render()来生成html元素 appends ...

  2. group By 和 Union 、 Union all的用法

    我学习的是MySQL,学习写sql语句过程中遇到Group By 和 Union. 大家乐意看这两个链接,写的很好 Group By: www.cnblogs.com/rainman/archive/ ...

  3. php laravel加密 form表单认证 laravel分页

    use Illuminate\Support\Facades\Crypt; echo Crypt::encrypt(123); //加密echo "<br>";//解密 ...

  4. laravel 分页

    因为Laravel默认使用的是en语言文件所有咱们相应使用中文分页提示的话,可以按如下步骤操作: laravel4------------------------------------------- ...

  5. Laravel分页

    Laravel使用的过程中,有些功能把前端页面的表达"写死了",比如分页的翻页按钮! 当然你会说Laravel的Bootstrap样式也很好看啊,但是实际项目中,翻页按钮常常需要满 ...

  6. laravel 分页和共多少条 加参数的分页链接

    <div class="pagers "> <span class="fs pager">共 {{$trades->total() ...

  7. laravel 分页使用

    分页 //对数据库结果分页 $users = DB::table('users')->paginate(15); //可以对 Eloquent 模型分页: $allUsers = User::p ...

  8. Laravel 分页 数据丢失问题解决

    问题: to do list 中有32条数据,每页10条,共3页. 做完了一个事项之后,准备打卡,发现找不到这个事项. 数据库查询正常,有这一条数据. 原因: 发现是分页出了问题,第1页的数据和第2页 ...

  9. 为laravel分页样式制定class

    做的项目有一个上翻页和下翻页,使用了框架提供的

  10. Laravel分页带参数的实现方法

    控制器: $data['type'] = 5;$data['member_list'] = Member::orderBy('id', 'desc')->paginate(10);return ...

随机推荐

  1. ZIP文件操作工具类

    2 3 import lombok.extern.slf4j.Slf4j; 4 import org.apache.commons.io.FilenameUtils; 5 6 import java. ...

  2. 第八章:diff

    1.git  diff命令的格式 1]可以使用git  diff命令的来源,(任意树对象.工作目录.索引) 2]git  diff命令进行树比较时,可以通过(提交名.分支名.标签名) 3]git  d ...

  3. 【SSO单点系列】(2):CAS4.0 之 跨域 Ajax 登录实践

    CAS4.0 之 跨域 Ajax 登录实践 一.问题描述 CAS实现单点 实现一处登录 可访问多个应用 . 但是原登录是CAS默认登录页面和登出页面是无法重定向到自定义页面的   此处使用Ajax+I ...

  4. vagrant用密码连接ssh

    1通过 ssh address连接 1:进去linux 2:修改配置文件信息 vi /etc/ssh/sshd_config 修改 passwordAuthentication no 改为 passw ...

  5. git 产生冲突的处理方式

    理解你操作图形化的时候, git 在什么? 了解你在做的文件的git状态? 1. 添加文件 git add . -A git commit -m "your commit here" ...

  6. 记一次ajax文件上传

    一个新需求提交页面. 在页面提交的时候,使用的是,先上传文件再上传表单 在这里需要返回表单存储的文件地址,需要上传.所以.在上传文件之后会返回存储的地址. 这里犯的一个错误: 往input 的type ...

  7. Linux 使用Squid部署代理缓存服务

    代理缓存服务 Squid是Linux系统中最为流行的一款高性能代理服务软件,通常用作Web网站的前置缓存服务,能够代替用户向网站服务器请求页面数据并进行缓存.简单来说,Squid服务程序会按照收到的用 ...

  8. HTTP-看这一篇就够了

    HTTP和HTTPS有什么区别 1.传输过程中信息是否加密,HTTP是超文本传输协议,信息是明文传输,HTTPS是具有安全性的SSL加密的超文本传输协议,信息是加密传输: 2.服务端使用的端口号不一致 ...

  9. Windows下Redis安装及自启动

    Redis下载 Redis 官方网站没有提供 Windows 版的安装包,可以通过 GitHub 来下载 Windows 版 Redis 安装包,下载地址:点击前往. 打开上述的下载地址链接,Redi ...

  10. jmeter设置支持https方法

    2020-2-26,疫情影响下第一天上班,今年想把自己学到的测试方面的知识记录下来,方便自己方便有需要的人,废话不多说,开启第一篇随笔,jmeter设置. 最近在测接口性能,涉及https的接口,不知 ...