laravel查询构造器使用from_unixtime

qq_25091119 2017-02-04 12:23:45
laravel5.2中
$select[] = DB::raw('date_format(from_unixtime(created_at),"%Y-%m") as month');
MyModel:get($select);
会提示vsprintf(): Too few arguments的错误
原因在于vsprintf会认为%Y-%m这个是需要替换的参数,但是参数并没有传递给它,所以显示“参数不够”的错误

但是,这应该怎么解决
...全文
950 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
lanshs 2019-01-05
  • 打赏
  • 举报
回复

'date_format(created_at,\'%Y-%m\') as month'
陈明轩 2019-01-04
  • 打赏
  • 举报
回复 1
改了也不行啊。
傲雪星枫 2017-02-05
  • 打赏
  • 举报
回复 1
%是关键字,可以使用%%来转义。 %Y-%m改为%%Y-%%m
xuzuning 2017-02-04
  • 打赏
  • 举报
回复
date_format、from_unixtime 都是 MySQL 的函数 分别用于将 datetime、unix时间戳格式化成日期时间串 你这样嵌套使用本身就是有问题的 至于 Too few arguments 错误,你可以将 % 写成 %% 来解决. "%%Y-%%m"

4,251

社区成员

发帖
与我相关
我的任务
社区描述
国内外优秀PHP框架讨论学习
社区管理员
  • Framework
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧