Php 日期(列)筛选器不返回任何内容

Php 日期(列)筛选器不返回任何内容,php,mysql,laravel,laravel-4,Php,Mysql,Laravel,Laravel 4,如果我直接在phpmyadmin中运行以下查询,我将得到所需的结果 select * from trips where route_from = 'CityA' and route_to = 'CityB' and DATE(start_date) = '2015-04-07' 但如果我将其作为PHP代码运行,它将返回一个空结果 Trip::whereRouteFrom('CityA') ->whereRouteTo('CityB')

如果我直接在
phpmyadmin
中运行以下查询,我将得到所需的结果

select * from trips where route_from = 'CityA' and route_to = 'CityB' and DATE(start_date) = '2015-04-07'
但如果我将其作为PHP代码运行,它将返回一个空结果

Trip::whereRouteFrom('CityA')
                ->whereRouteTo('CityB')
                ->where(\DB::raw('DATE(start_date)', '=', '2015-04-07'))->get();
ORM执行的SQL代码如下(我通过
->toSql()
)获得它):


现在,我想问题出在日期(…)是…。当我在phpmyadmin中使用
is
运行SQL代码时,它会给我语法错误。使用
=
可以正常工作。但是框架生成它时使用的
,因此我不确定这是问题所在还是有其他问题。

您有输入错误,而不是:

->where(\DB::raw('DATE(start_date)', '=', '2015-04-07'))->get();
你应使用:

->where(\DB::raw('DATE(start_date)'), '=', '2015-04-07')->get();

您有输入错误,而不是:

->where(\DB::raw('DATE(start_date)', '=', '2015-04-07'))->get();
你应使用:

->where(\DB::raw('DATE(start_date)'), '=', '2015-04-07')->get();

您有输入错误,而不是:

->where(\DB::raw('DATE(start_date)', '=', '2015-04-07'))->get();
你应使用:

->where(\DB::raw('DATE(start_date)'), '=', '2015-04-07')->get();

您有输入错误,而不是:

->where(\DB::raw('DATE(start_date)', '=', '2015-04-07'))->get();
你应使用:

->where(\DB::raw('DATE(start_date)'), '=', '2015-04-07')->get();

您正在尝试使用
whereRaw

如果是这样的话,代码应该是正确的

Trip::whereRouteFrom('CityA')
                ->whereRouteTo('CityB')
                ->whereRow('DATE(start_date) = "2015-04-07"'))
                ->get();
或者,如果要传递动态值,可以在第二个参数处传递

$date = "2015-04-07";
Trip::whereRouteFrom('CityA')
                    ->whereRouteTo('CityB')
                    ->whereRow('DATE(start_date) = ?', array($date) )
                    ->get();

您正在尝试使用
whereRaw

如果是这样的话,代码应该是正确的

Trip::whereRouteFrom('CityA')
                ->whereRouteTo('CityB')
                ->whereRow('DATE(start_date) = "2015-04-07"'))
                ->get();
或者,如果要传递动态值,可以在第二个参数处传递

$date = "2015-04-07";
Trip::whereRouteFrom('CityA')
                    ->whereRouteTo('CityB')
                    ->whereRow('DATE(start_date) = ?', array($date) )
                    ->get();

您正在尝试使用
whereRaw

如果是这样的话,代码应该是正确的

Trip::whereRouteFrom('CityA')
                ->whereRouteTo('CityB')
                ->whereRow('DATE(start_date) = "2015-04-07"'))
                ->get();
或者,如果要传递动态值,可以在第二个参数处传递

$date = "2015-04-07";
Trip::whereRouteFrom('CityA')
                    ->whereRouteTo('CityB')
                    ->whereRow('DATE(start_date) = ?', array($date) )
                    ->get();

您正在尝试使用
whereRaw

如果是这样的话,代码应该是正确的

Trip::whereRouteFrom('CityA')
                ->whereRouteTo('CityB')
                ->whereRow('DATE(start_date) = "2015-04-07"'))
                ->get();
或者,如果要传递动态值,可以在第二个参数处传递

$date = "2015-04-07";
Trip::whereRouteFrom('CityA')
                    ->whereRouteTo('CityB')
                    ->whereRow('DATE(start_date) = ?', array($date) )
                    ->get();

我遇到的问题是打字错误(正如公认的答案所示),但我真的很喜欢你的解决方案!:)我很高兴这有帮助。:)我遇到的问题是打字错误(正如公认的答案所示),但我真的很喜欢你的解决方案!:)我很高兴这有帮助。:)我遇到的问题是打字错误(正如公认的答案所示),但我真的很喜欢你的解决方案!:)我很高兴这有帮助。:)我遇到的问题是打字错误(正如公认的答案所示),但我真的很喜欢你的解决方案!:)我很高兴这有帮助。:)