Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 您能否在不使用DB::raw的情况下,在Laravel中操作数据库列date,然后使用`whereDate()`子句? 问题:_Php_Laravel_Laravel Query Builder - Fatal编程技术网

Php 您能否在不使用DB::raw的情况下,在Laravel中操作数据库列date,然后使用`whereDate()`子句? 问题:

Php 您能否在不使用DB::raw的情况下,在Laravel中操作数据库列date,然后使用`whereDate()`子句? 问题:,php,laravel,laravel-query-builder,Php,Laravel,Laravel Query Builder,能否在Laravel中操纵数据库列日期,然后在操纵的日期上使用whereDate()子句?(使用查询生成器) 我知道我可以通过SQL函数使用DB::raw来实现,但我想知道一种不使用DB::raw的方法,就像这样,我可以利用Carbon或其他php和Laravel功能 代码: ->whereDate('sub_平日(月底(添加月(日期列)),10)),'>',今天() 我想在数据库date\u列上运行这些carbon函数,然后执行'>',today()检查 研究: 关于stackoverflow

能否在Laravel中操纵数据库列日期,然后在操纵的日期上使用
whereDate()
子句?(使用查询生成器)

我知道我可以通过SQL函数使用
DB::raw
来实现,但我想知道一种不使用
DB::raw
的方法,就像这样,我可以利用
Carbon
或其他php和Laravel功能

代码:
->whereDate('sub_平日(月底(添加月(日期列)),10)),'>',今天()

我想在数据库
date\u列上运行这些carbon函数,然后执行
'>',today()
检查

研究: 关于stackoverflow有许多
whereDate
whereRaw
问题,但我遇到的似乎都没有解决这个问题。
Laravel文档也没有讨论如何做到这一点,或者如果可能的话。

我相信最实用的方法是只在专栏中使用
DB::raw()
而不是完全
DB::raw()
。在实现所需功能的同时,保留主
QueryBuilder
调用。您的碳排放想法是不可行的,因为您需要查询方法,所有修改都必须在
SQL
中完成

->whereDate(DB::RAW('LAST_DAY(date_column)'), now())

谢谢这就是我所说的使用DB::RAW。“应该只在SQL中完成”是什么意思?您希望在查询生成器中获得Carbon逻辑,但由于日期的所有修改都必须在SQL中完成,这是不可行的。您可以将此逻辑封装在一个类中并自行解决。类似->whereDate((string)SqlDate::lastDay('date\u column')、now()的代码是可能的,但这不是您自己的代码laravel@DanielMesa非常感谢。我以前在链接问题中使用过这种方法,但这里我需要一个更具体的操作,我认为我不能在
今天()上做相反的操作。(我对问题进行了编辑,以包括所需的具体操作)。