首先简单说明一下,laravel框架中查询并打印sql语句的办法,不管任何时候由于sql语句报错时,都可以先打印一下,分析一下是什么原因造成的错误

①引入laravel框架DB类useIlluminate\Support\Facades\DB;

②开启框架日志记录

DB::connection()->enableQueryLog();

③条件,即要查询的sql语句User::all();

④输出打印所有的日志(sql)

dd(DB::getQueryLog());

回归正题:这里遇到的问题是查询语句中的时间戳的转换(laravel查询构建器);

初试:时间分组的显示,这里使用的原生查询方法(DB:raw()),先使用from_unixtime( ),时间戳转换为日期格式,然后使用格式化函数,将日期改为需要显示的日期并进行分组.

$summary = Article::query()->select(DB::raw("DATE_FORMAT(from_unixtime(art_time),‘%Y-%m‘) as time"))->groupBy(‘art_time‘)->orderBy(‘art_time‘,‘desc‘)->get();

接下来需要将同一日期下的文章填到上面得到的日期下

foreach ($summary as $v) {$childart = DB::select("select DATE_FORMAT(from_unixtime(art_time),‘%Y‘) as sumtime,art_id,art_title from blog_article where sumtime =".$v->time);$v->childart = $childart;

}

这里开始报错:

这个错误很简单,查询where条件不能取前面别名,数据库没有这个字段自然会报错,然后修改了语句

foreach ($summary as $v) {$childart = DB::select("select DATE_FORMAT(from_unixtime(art_time),‘%Y‘) as sumtime,art_id,art_title from blog_article where date_format(from_unixtime(art_time),‘%Y-%m‘)= ".$v->time);print_r(DB::getQueryLog());

dd($childart);$v->childart = $childart;

}

再次查询,发现为空,于是打印了sql语句如下:

没有报错,查询为空,可以想到是由于where条件不匹配的原因导致的,然后发现date_format格式化后应该为一个字符串,这里显示的数字,自然不会查询出来。于是修改sql语句

foreach ($summary as $v) {$childart = DB::select("select DATE_FORMAT(from_unixtime(art_time),‘%Y‘) as sumtime,art_id,art_title from blog_article where date_format(from_unixtime(art_time),‘%Y-%m‘) = ‘".$v->time."‘");dd($childart);$v->childart = $childart;

}

到此,此问题解决。

后续:在自己看完打印出来的sql语句后,觉得根本没有问题,多次修改sql语句后仍无查到信息,由于对mysql查询的不了解以及之前不怎么使用date_format(),认为where条件不能这样写(where date_format(from_unixtime(art_time),‘%Y-%m‘) = .$v->time),即where条件中对字段进行修饰,于是想存的时间戳太过麻烦,便直接到数据库增加一个字段用来存放时间日期格式,更新这个字段内容的时候使用了之前讲的通过表格sublime操作mysql的简便方法。做了20条语句:

到sql编辑器中运行sql语句,运行成功。看了看这条语句,又想了想之前的那条,觉得即使在where条件中加date_format应该也是可以的。

再次尝试:直接在sql编辑器中尝试了以下两条语句,运行,成功了

update blog_article set summary =date_format(from_unixtime(art_time),‘%Y-%m‘) where art_id =8;

select * from blog_article where date_format(from_unixtime(art_time),‘%Y-%m‘) = ‘2018-08‘;

突然发现这里的date_format等于的是一个字符串,发现了原因,到查询为空的语句中加上了引号,终于解决了问题。

mysql 查询时间转换_数据库查询时日期的转换相关推荐

  1. mysql查询全年星期_数据库查询显示一年中所有的周一到周五的数据

    select count(*) from weixiuguanli where weixiuzt= '待维修' select * from weixiuguanli where weixiuzt= ' ...

  2. java数据库查询语句题_数据库查询语句面试

    Student(S#,Sname,Sage,Ssex) 学生表 Course(C#,Cname,T#) 课程表 SC(S#,C#,score) 成绩表 Teacher(T#,Tname) 教师表 问题 ...

  3. mysql查询时间出来数字_mysql查询时间出来数字的解决方法

    mysql查询时间出来数字的解决方法 发布时间:2020-11-16 10:50:29 来源:亿速云 阅读:108 作者:小新 这篇文章将为大家详细讲解有关mysql查询时间出来数字的解决方法,小编觉 ...

  4. 鄂汇办2021高考成绩查询,2021湖北高考成绩查询时间 湖北高考成绩查询方式

    2021年湖北高考成绩查询时间,随着高考的结束,高考成绩的发布时间就成为了广大考生和家长所关注的问题,以下是小编整理的湖北高考成绩查询方式相关信息,希望对大家有所帮助!下面就和小编一起来看看吧. ww ...

  5. 2021高考成绩查询衢州,2021浙江衢州中考成绩查询时间 衢州中考成绩查询入口

    2021浙江衢州中考成绩查询时间,考试季来临,高考的舞台已落下帷幕,接下来就是中考该粉墨登场了.那么,同学和家长最关心的应该就是中考成绩查询时间了,今天,小编整理了衢州中考成绩查询入口,下面就和小编一 ...

  6. 2021陇南高考成绩查询,2021年陇南中考成绩公布查询时间 陇南中考成绩查询方式入口...

    2018年陇南中考成绩公布查询时间 陇南中考成绩查询方式入口 2018年陇南高考结束了,可是陇南中考又来了!6月注定是一个不平淡的月份.又一大批孩子朝着青春出发踏着坚定的脚步,行走在如火的六月.宁静的 ...

  7. 2021上饶市高考中考成绩查询,2021年上饶中考成绩公布查询时间 上饶中考成绩查询方式入口...

    2018年上饶中考成绩公布查询时间 上饶中考成绩查询方式入口 2018年上饶高考结束了,可是上饶中考又来了!6月注定是一个不平淡的月份.又一大批孩子朝着青春出发踏着坚定的脚步,行走在如火的六月.宁静的 ...

  8. 宜春高考2021年成绩查询,2021年宜春中考成绩公布查询时间 宜春中考成绩查询方式入口...

    2018年宜春中考成绩公布查询时间宜春中考成绩查询方式入口 2018年宜春高考结束了,可是宜春中考又来了!6月注定是一个不平淡的月份.又一大批孩子朝着青春出发踏着坚定的脚步,行走在如火的六月.宁静的清 ...

  9. 2021高考绥化成绩查询,2021年绥化中考成绩公布查询时间 绥化中考成绩查询方式入口...

    2018年绥化中考成绩公布查询时间 绥化中考成绩查询方式入口 2018年绥化高考结束了,可是绥化中考又来了!6月注定是一个不平淡的月份.又一大批孩子朝着青春出发踏着坚定的脚步,行走在如火的六月.宁静的 ...

最新文章

  1. 面试常考:Synchronized 有几种用法?
  2. java11正式发布了,让java代码更完美
  3. 假如 Go 能说话,听听 GMP 的心声
  4. Action Framework Medium attribute 初始化逻辑
  5. C#中哈希表(HashTable)的用法详解
  6. 如何让隐藏在大数据背后的价值发挥出来?
  7. 计算机组成原理—存储系统总结
  8. JAVA 对于点号.的处理
  9. 【数学建模】2 TOPSIS优劣解距离法
  10. maven环境setting配置文件详解
  11. 手机也能拍照扫描?这些拍照扫描app方便又好用
  12. 土方测量-挖方填方量的计算思路
  13. 计算机打表格图,怎么把电脑整个表格截屏,表格太长,还有部(怎么把excle表格截图)...
  14. 入驻商家卖违禁药物、评论造假、试水会员,直播能让新氧再次“乘风破浪”吗?
  15. 支付宝小程序登录PHP
  16. Mysql 增量备份和全量备份
  17. phpstudy弹出windows-没有软盘,exception processing c0000013 parameters *** *** ***
  18. 夏日葵电商:为你揭秘微信商城系统搭建的六大详细步骤
  19. LINUX 宏__define_initcall(level,fn)的作用 和 do_initcalls()
  20. 从辍学到名企资深开发工程师,一名 Android 开发者逆袭血泪史

热门文章

  1. Spring中使用Spark连接的DataSource
  2. Bigtable:一个分布式的结构化数据存储系统(转)
  3. C字符串数组赋值
  4. 低功耗设计——基于UPF进行设计
  5. 数字IC验证学习(一)
  6. 【图像处理】——在plt绘制的坐标窗口中,捕获鼠标点,在右下角显示点的坐标
  7. 结构体指针需要申请指针内存,结构体对象不需要申请对象内存
  8. java构造块_java中的静态代码块、构造代码块、构造方法详解
  9. java方法区对象类型_浅谈Java内存区域与对象创建过程
  10. 555定时器回差电压计算公式_555时基电路引脚解析