Я пытаюсь развернуть приложение Laravel (4.1), и у меня возникла проблема с его корректной работой с MySQL. Я свел к этой линии прямо здесь ...Laravel MySQL работает на локальном компьютере, но не удален
$curSessions = DB::table('sessions')->where('beginDate', '<', $curDate)->where('endDate', '>', $curDate)->get();
Я попытался изменить его к следующему и он вернулся, как и ожидался. (Но слишком много записей)
$curSessions = DB::table('sessions')->where('beginDate', '<', $curDate)->get();
Это не работает. Он не возвращает ошибок и пустой массив.
$curSessions = DB::table('sessions')->where('endDate', '>', $curDate)->get();
я тогда получил его повторить последнее заявление он сделал (DB::getQueryLog();
) и запрос, который выводит работу, когда я ввод его в поле SQL на PhpMyAdmin.
Должно быть ясным. Журнал запросов показывает:
массив (1) {[0] => массив (3) {[ "запрос"] => строка (64) «выберите * из
sessions
, гдеbeginDate
< иendDate
>? " ["bindings"] => array (2) {[0] => string (8) "2014-1-3" [1] => string (8) "2014-1-3"} ["time"] => поплавок (0,26)}}
И когда я подключу '2014-1-3' в "?" оно работает.
The rub is ... Это работает на моем компьютере, на котором работает MAMP, но не на удаленном сервере. Я проверил структуру базы данных, чтобы убедиться, что endDate
и beginDate
оба установлены как «Дата», и они есть.
Любая идея?
Выполняется ли вручную запрос на сервере? – matpop
Через поле запроса MYSQL в myphpadmin. Может быть, некоторые используют. Я играл с DB :: raw, и я думаю, может быть, как pdo обрабатывает даты? Когда ни одна из дат не сбрасывается с кавычками, запрос выходит из строя. Возможно ли, что на моем компьютере сервер MYSQL более мягкий с плохо отформатированным запросом, чем на моем сервере в asmallorange? Или еще лучше, как pdo на самом деле форматирует строку с помощью? Синтаксис? Может быть, я задумался об этом. –
Я тоже думал. Однако было бы странно, поскольку даты связывают как простые строки. – matpop