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