две даты текущая и дата которая уже прошла.
Как можно сравнить эти две даты ? Текущую дату получил так {var $currentDate = date('Y-m-d')} хотел это использовать в блоке снипета примерно так
'where' => [
'news_end:>=' => $currentDate
],
Но почему то даты сравниваются некорректно...
попробуйте их где-нибудь вывести и визуально сравнить
да отличие есть news_end с пробелами типа 2023-07-01 а date('Y-m-d') 2023 07 01
есть такая штука: strtotime {$currentDate | strtotime}
а как такую запись можно в блоке where снипета m2filter использовать ? и можно ли как это сделать что то типа такого : 'where' => [ '(("news_end"| date : 'Y-m-d') | strtotime):>=' => (date('Y-m-d') | strtotime) ],
date убери тогда уж.
'where' => [ '(значение_из_тв_поля | strtotime):>=' => (date('Y-m-d') | strtotime) ], типа такого ?
Первая часть верно, справа как то сложно. наверное будет достаточно time() 'where' => [ '(значение_из_тв_поля | strtotime):>=' => time() ],
хм, нет почему то у меня не работает такой блок кода 'where' => [ '(news_end | strtotime):>=' => (date('Y-m-d') | strtotime) ], может синтаксис получения значения данных из tv поля неверный ? Мое тв поле называется news_end Может тут как в js есть какой то специальный синтаксис типа ${news_end}
А ну да конечно. Должно быть $news_end
Не верные кавычки
Кроме неверных кавычек. date() - это PHP код. Чтобы такая запись работала, должна быть включена настройка фенома Разрешить использовать php код Я по умолчанию предполагаю что у тебя настройка включена, раз уже пишешь так
а какие там должны быть кавычки ?
стопики. одно дело в fenom другое дело в БД запрос.
Начнем с того что данные у нас идут в БД. Значит нужно сравнивать по другому. Попробуй в наглую: 'where' => [ 'news_end:>=' => date('Y-m-d')], я попозже найду как я делал (давно не помню точно)
к сожалению это работает не так как я ожиданию, у меня такое ощущение что тут только по году сравнивает..
Обсуждают сегодня