OS: Linux 5.4.0-54-generic #60-Ubuntu x86_64 GNU/Linux
MySQL: 8.0.22-0ubuntu0.20.04.2
При переходе на страницу "Магазин" -> "Отчёты" получил ошибку:
Query Error 1525: Incorrect DATETIME value: '0000-00-00 00:00:00' Query: SELECT MIN(create_datetime) FROM shop_order WHERE create_datetime > '0000-00-00 00:00:00'
Возникла из-за некорректно указанной даты в запросе. Решить можно 2 способами:
1. Прописать в MySQL
SET SQL_MODE='ALLOW_INVALID_DATES';
2. Изменить запрос в файле
wa-apps/shop/lib/actions/reports/shopReportsSales.action.php(771)
указав корректную дату.
Я выбрал второй способ, ибо считаю это ошибкой запроса, а не самой MySQL. Полученный запрос:
SELECT MIN(create_datetime) FROM shop_order WHERE create_datetime > '1970-01-01 00:00:00'
Сорян, если тема уже подымалась. При беглом поиске не нашёл.
7 комментариев
Тоже столкнулся с подобной проблемой.
1. Решение к сожаление не помогло
2. По адресу, в файле (последние обновления на 4 декабря 2020) вообще ничего нет по поиску "create_datetime"
Помогите пожалуйста с решением.
Прошу прощения, похоже уже был уставшим. Спасибо, что указали.
Действительно, правил метод `getMinDate()` в файле wa-apps/shop/lib/model/shopOrder.model.php (строка 773)
Query Error 1525: Incorrect DATETIME value: '0000-00-00 00:00:00' Query: SELECT MIN(create_datetime) FROM shop_order WHERE create_datetime > '0000-00-00 00:00:00' code 1525 ## wa-system/database/waModel.class.php(266) #0 wa-system/database/waModel.class.php(366): waModel->run() #1 wa-apps/shop/lib/model/shopOrder.model.php(782): waModel->query() #2 wa-apps/shop/lib/model/shopSales.model.php(56): shopOrderModel->getMinDate() #3 wa-apps/shop/lib/actions/reports/shopReportsSales.action.php(41): shopSalesModel->getMinDate() #4 wa-system/controller/waViewAction.class.php(161): shopReportsSalesAction->execute() #5 wa-system/controller/waViewController.class.php(86): waViewAction->display() #6 wa-system/controller/waDefaultViewController.class.php(48): waViewController->executeAction() #7 wa-system/controller/waController.class.php(21): waDefaultViewController->execute() #8 wa-system/controller/waViewController.class.php(46): waController->run() #9 wa-system/controller/waFrontController.class.php(263): waViewController->run() #10 wa-system/controller/waFrontController.class.php(190): waFrontController->runController() #11 wa-system/controller/waFrontController.class.php(84): waFrontController->execute() #12 wa-system/controller/waDispatch.class.php(157): waFrontController->dispatch() #13 wa-system/controller/waDispatch.class.php(32): waDispatch->dispatchBackend() #14 wa-system/waSystem.class.php(603): waDispatch->dispatch() #15 index.php(7): waSystem->dispatch() #16 {main} GET [ 'module' => 'reports', 'action' => 'sales', 'timeframe' => '90', 'groupby' => 'days', ] POST [ '_csrf' => '[hidden]', ] Params []Не уверен что правильно, но если изменить в файле
C
На
То все заработает.
Конечный код
public function getMinDate() { static $date_start = '1970-01-01 00:00:00'; if ($date_start === null) { $order_model = new shopOrderModel(); $date_start = $order_model->getMinDate(); } return $date_start; }До сих пор не исправили - после обновления клиенты дружно начинают выносить мозги!((
та да(
С другой стороны - дополнительный доход ;)
Девелоперы, ПОЖАЛУЙСТА, внесите корректировки. На гитхабе уже даже кто-то pull отправил. Устал править скрипты после обновлений((((((((((((((((