浅谈laravel框架sql中groupBy之后排序的问题

最近在用框架给公司App写接口时,碰到了一个棘手的问题:

对查询结果进行排序并进行分页(进行了简略修改),下面是最终结果代码:

$example = Example::select(DB::raw('max(id) as some_id,this_id'))
  ->where('id', $id)
  ->groupBy('this_id')
  ->orderBy('some_id', 'desc')
  ->skip($offset)
  ->take($limit)
  ->get();

但是在这个过程中,经历了一些波折。

groupBy中的字段必须是select的字段,并且orderBy从句也必须是select的字段。但是如果select的字段使用聚合函数呢?抱着

试一试的态度,我运行了一下postman.

binggo,通过!并且实现了效果。特此记录。

以上这篇浅谈laravel框架sql中groupBy之后排序的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 解决laravel5.4下的group by报错的问题

    使用ORM查询数据显示这个错,这是因为laravel使用了开启了mysql的严格模式所以 如果要关闭的话,我们需要找到config/database.php这个文件,然后将 mysql下的这个改为false;就会关闭. 既然说严格模式那什么是样模式呢.据我所知在mysql在5.7有一个尿性 [报错:only_full_group_by],就是你group by的数据里面必须包含你查询的数据,意思就是如果你的sql是:select name,age from user group by name;

  • laravel 解决groupBy时出现的错误 isn't in Group By问题

    很多人在群里问一个问题: 在laravel5.3版本之后使用groupBy的时候会出现一个问题,类似于: `QueryException in Connection.php line 770: SQLSTATE[42000]: Syntax error or access violation: 1055 'ezhenduan2.app_game_answer_record.id' isn't in GROUP BY (SQL: select id, quality, uid from app_g

  • 解决laravel groupBy 对查询结果进行分组出现的问题

    使用laravel groupBy方法时不知为什么一直出现语法错误,查了很多资料才找到原因: $data = Orders::select("orders.*","user.name","orderstatu.name as ssname") ->join("user","user.id","=","orders.uid") ->join("or

  • 浅谈laravel框架sql中groupBy之后排序的问题

    最近在用框架给公司App写接口时,碰到了一个棘手的问题: 对查询结果进行排序并进行分页(进行了简略修改),下面是最终结果代码: $example = Example::select(DB::raw('max(id) as some_id,this_id')) ->where('id', $id) ->groupBy('this_id') ->orderBy('some_id', 'desc') ->skip($offset) ->take($limit) ->get()

  • 浅谈laravel框架与thinkPHP框架的区别

    主要区别:(thinkPHP更适合国人的编码习惯) 1.渲染模版方式的不同: 在Laravel框架里,使用return view()来渲染模版; 而ThinkPHP里则使用了$this->display()的方式渲染模版; 2.在Laravel框架里,由于其考虑到了跨站请求伪造, 所以如果使用form表单以post方式进行传值时,如果不再form表单中加入{{csrf_field()}}则会报出TokenMethodnotfound的语法错误; 而TP框架则需要自己手动完成防止跨站攻击的代码;

  • 浅谈laravel中的关联查询with的问题

    表结构 主表结构: Create Table CREATE TABLE `user` ( `uid` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `email` varbinary(255) NOT NULL, PRIMARY KEY (`uid`) ) ENGINE=InnoDB AUTO_INCREMENT=114001 DEFA

  • 浅谈SSH框架中spring的原理

    在ssh项目中,是有明确分工的,spring的作用就相当于将struts和hibernate连接起来,是将两个没有关系的框架的特性,方法,action都放在spring的配置文件中使他们建立关系.取他门各自所长.而这些做法他们自己不知道,他们是听命于spring调度的,他的的任务只是做好自己的事情. 这样做的好处就是任务结构分明,struts只管理显示与做什么,hibernate只关心怎么做,而spring就相当于领导,所以一切的类都要交给spring的工厂创建,这是一种良好的开发模式,体现了一

  • 浅谈MUI框架中加载外部网页或服务器数据的方法

    我们很多同学在实施使用MUI框架的时候,在打开新的页面的时候常使用的方式是:mui.openwindow的方法,然而遇到网页需要从服务器或者是要嵌套外部的网页的时候,由于网速的问题会遇到加载时出现白屏,等待时间过长,导致用户体验不好. 页面加载的时候使用plus.webview.create方法就很好的解决了这个问题. 废话不多说直接贴代码 首先我们需要在创建一个父页面,以下是父页面的JS // H5 plus事件处理 function plusReady(){ var nwaiting = p

  • 浅谈laravel orm 中的一对多关系 hasMany

    个人对于laravel orm 中对于一对多关系的理解 文章表 article,文章自然可以评论,表 comment 记录文章的评论,文章和评论的关系就是一对多,一篇文章可以有多个评论. 在 comment 表中有字段 article 记录评论所属文章,文章和评论的关系如下: article:id  ... ... comment : id ... ... article_id  在 comment 表中有关联 article 的外键 article_id,所以在 Comment 模型中是 be

  • 浅谈Laravel中的三种中间件的作用

    在之前一直简单的认为中间件就是往middleware里添加中间件即可.现在才知道中间件有三种类型,分别为:$middleware $middlewareGroup $routeMiddleware 通过查阅资料,终于明白了这三种类型的作用和不同. 第一种,全局中间件/$middleware: 我们的每一次请求,这里面的每个中间件都会执行. 第二种,路由中间件/$routeMiddleware: 定义在该属性内的中间件,只能在定义路由的时候引用. 假设这是我们定义的路由中间件: protected

  • 浅谈Laravel中使用Slack进行异常通知

    概述 通常,我们可以依靠用户反馈.经常查看程序日志来发现程序存在的问题.但这要么不可靠要么不及时,所以下面我们介绍一种比较有效的做法--使用 Slack 通知程序跑出的异常信息. Slack 是一款即时通信软件,类似于 QQ,它提供开放的 API,可以调用它向自己团队中指定的个人或者频道(Channel)发送消息,因此用它来进行异常通知是再合适不过的. 安装 maknz/slack-laravel 包 具体的安装方法请参考 Github 上的 [readme](https://github.co

  • 浅谈Laravel中如何对大文件进行加密

    我已经搜索过用于解决此问题的软件包或解决方案,并遇到了这个 Stack Overflow 回答和这个 PHP 解决方案,该解决方案基本上是 Stack Overflow 所描述的解决方案的 PHP 实现. 我决定创建一个为 Laravel 设计的扩展包,使用简单,优雅的语法提供简单的文件加密 / 解密功能. 在这个教程中,我会详细描述加密大文件需要的所有步骤. 首先, 使用 Laravel 安装器创建一个新的 Laravel 项目, 命名为security-app: laravel new se

  • 浅谈Gin框架中bind的使用

    目录 概述 Binding接口 context.Bind cnotext.MustBindWith ShouldBindWith context.BindJSON context.ShouldBindJSON context.ShouldBindUri() context.ShouldBindUri() 运行结果 总结 概述 Gin框架中,有bind函数可以非常方便的将url的查询参数query parameter.http的Header,body中提交上来的数据格式,如form,json,xm

随机推荐