如果我直接在phpmyadmin
運行下面的查詢,我得到了想要的結果DATE(柱)過濾器沒有返回
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()
)以下:
select * from `trips` where `route_from` = ? and `route_to` = ? and DATE(start_date) is null
現在,我想這個問題在DATE(...) is ...
。當我在phpmyadmin中運行is
的SQL代碼時,它會給我語法錯誤。與=
工作正常。但是框架使用is
生成它,所以我不確定這是問題還是有其他問題。
我的問題是一個錯字(正如接受的答案所暗示的),但我真的很喜歡你的解決方案! :) – Milkncookiez 2015-04-06 13:35:03
我很高興它有幫助。 :) – mininoz 2015-04-06 13:36:23