SQLSTATE [42883]: неопределенная функция: 7 ОШИБКА: функция date_format (дата неизвестна) не существует - PullRequest
3 голосов
/ 03 октября 2019

Я создал это для сравнения, время теперь такое же, как и время в строке моей таблицы executetes_at.

$dateNow = Carbon::now()->format('Y-m-d');
$hourNow = Carbon::now()->format('H');
$minuteNow = Carbon::now()->format('i');

$recordings = Recording::with('therapy')
        ->where(DB::raw("DATE_FORMAT(executes_at,'%Y-%m-%d')"), '=', $dateNow)
        ->where(DB::raw("DATE_FORMAT(executes_at,'%H')"), '=', $hourNow)
        ->where(DB::raw("DATE_FORMAT(executes_at,'%i')"), '=', $minuteNow)
        ->get();

, и это сработало в MySQL, но, поскольку теперь мы используем PostgreSQL, у меня есть эта ошибка

SQLSTATE [42883]: Неопределенная функция: 7 ОШИБКА: функция date_format (дата неизвестна) не существует

Может кто-нибудь помочь мне с этим.

1 Ответ

2 голосов
/ 03 октября 2019

Это можно упростить. Просто создайте правильный формат даты и времени (без минут) и используйте DATE_TRUNC() для сравнения:

$dateNowToMinute = Carbon::now()->format('Y-m-d H:i');
$recordings = Recording::with('therapy')
    ->where(DB::raw("DATE_TRUNC('minute', executes_at)"), '=', $dateNowToMinute)
    ->get();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...