Laravel рассматривает переменную как имя столбца в построителе запросов - PullRequest
0 голосов
/ 08 марта 2019

Я использую laravel 5.5 и проверяю проверку событий, если слот доступен 2 раза, используя этот запрос:

$schedules->where('id', $id)
                ->wherebetween($date, ['start','end'])
                ->orwherebetween($endTime, ['start','end'])
                ->orwherebetween('start', [$date,$endTime])
                ->orderBy('start')->get(); 

получаю эту ошибку

"message": "SQLSTATE [42S22]: столбец не найден: 1054 Неизвестный столбец '2019-03-06 13:00:00' в 'выражении where'

Ответы [ 2 ]

0 голосов
/ 08 марта 2019

Я исправил это, добавив DB::raw() подробнее

$schedules->where('id', $id)
                ->wherebetween(DB::raw($date), ['start','end'])
                ->orwherebetween(DB::raw($endTime), ['start','end'])
                ->orwherebetween('start', [$date,$endTime])
                ->orderBy('start')->get(); 
0 голосов
/ 08 марта 2019

это потому, что 1-й параметр должен быть именем столбца:

Вы должны изменить свой код на:

->wherebetween('column name', ['1st date','2nd date'])
->orwherebetween('column name', ['1st date','2nd date'])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...