Цель: пытаться получить все сообщения на определенную дату из таблицы БД (скажем, у меня дата и время в формате '2019-03-07 12:30:00', тогда я хотел бы получить все сообщения от этого дата '2019-03-07').
Поскольку мне нужны сообщения с этой даты, я конвертирую заданную дату и время в формат даты i18nFormat. Как показано ниже: *
$userSelectedDate = $selectedDate->i18nFormat('yyyy-MM-dd');
затем, В предложении where я использую функцию mySql DATE в поле таблицы, и она возвращает ожидаемый результат. код как показано ниже:
$conn = connectionManager::get('default');
$conn->begin();
$stmt = $conn->prepare(
"SELECT * FROM `blogs`
where DATE(`PUBLISHED_DATE`) = '$userSelectedDate'"
);
$stmt->execute();
$conn->commit();
Это отлично работает. Но я хотел бы преобразовать его в Cakephp 3, как показано ниже.
$query = $this
->find()
->where([
DATE($this->aliasField('PUBLISHED_DATE')) => $userSelectedDate
])
;
Это, очевидно, приводит к ошибке, как показано ниже.
Ошибка: [PDOException] SQLSTATE [42S22]: столбец не найден: 1054 неизвестный столбец
Как использовать функцию mysql DATE в запросе Cakephp 3? Я проверил другие похожие ответы и не смог найти способ.