Вы можете использовать andWhere()
и сравнивать даты начала и конца года.
Вероятно, стоит иметь в виду, что это было бы эквивалентом сравнения дат как строк, но, поскольку порядок - ГГ-мм-дд, он работает.
$records = MedicalRecord::find()
->where(['>=', 'dateCreated', '2020-01-01 00:00:00'])
->andWhere(['<', 'dateCreated', '2021-01-01 00:00:00'])
->all();
Таким образом yii
генерирует код, который работает с базой данных
Если вы можете гарантировать, что вы будете запускать свое приложение только с движком базы данных, который поддерживает функцию YEAR()
, то ответ Сергея, вероятно, будет лучшим. Но если вы захотите перейти на PostgreSql, Oracle ... Он перестанет работать.