$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. Python冰墩墩(非原创,搬运工)

    import turtle turtle.title('2022北京冬奥会冰墩墩') turtle.speed(10000) # 速度 # 左手 turtle.penup() turtle.goto( ...

  2. centos7 七步教你安装搭建 LAMP 服务

    先说说LAMP是什么 LAMP是指一组通常一起使用来运行动态网站或者服务器的自由软件名称首字母缩写: Linux,操作系统 Apache,网页服务器 MariaDB或MySQL,数据库管理系统(或者数 ...

  3. python学习笔记-简介

    python简介 python是一种简单易学,功能强大的编程语言,他有高效的高层数据结构,简单而有效的实现面向对象编程.python是一种解释性语言,在多数平台的多个领域都是理想的脚本语言,特别适用于 ...

  4. vue组件淡入浅出动画

    点击动画 hello hello world! .test-enter, .test-leave-to { opacity: 0 } .test-enter-to, .test-leave { opa ...

  5. WKWebView与JS的交互

    转载:https://www.jianshu.com/p/253e76a74b38 用普通的UIWebView和JS交互 大概核心代码是这样的 - (void)setupWebView{ self.w ...

  6. mac中chrome常用快捷键

     1.标签页和窗口快捷键  ⌘-N                                                                  打开新窗口.   ⌘-T      ...

  7. 【NumPy】Python将数组中低于一定百分比的值替换

    情景举例 现有一个一维数组(或二维进行遍历)存放着很多,找到低于中位数20%的值并将小于该值的数全部替换为该值. 涉及方法 np.median(data, axis=0)用于计算数组中元素的中位数(中 ...

  8. #PHP #MySQL数据操作 #在线聊天 PHP实现在线聊天与MySQL的“增查删改”

    目录 1.目标图 2.项目简介 3.目录结构 4.建立MySQL表 5.实现过程 5.1 index.php 5.2 data.php 5.2 method.php 5.3  case.php 5.4 ...

  9. @Async异步注解的使用

    @Async 简介 使用spring快速开启异步执行服务的注解 应用场景 同步:同步就是整个处理过程顺序执行,当各个过程都执行完毕,并返回结果. 异步: 异步调用则是只是发送了调用的指令,调用者无需等 ...

  10. cp 备份文件命令

    cp -p system.sh ./bak2022/systecm.sh.bak_`date '+%Y%m%d'` (备份system.sh文件后缀以bak_年月日命令)cp -rf old copy ...