Как сделать запрос с формированием даты mySQL?

есть такой запрос

SELECT name_film, date( from_unixtime( created_at ) ) created_at
    FROM `fl_films`
    ORDER BY created_at


можно ли его сделать в ActiveRecord yii2 ?
  • Вопрос задан
  • 97 просмотров
Решения вопроса 1
@matperez
1. сделайте обычную модель для fl_films
2. создайте класс типа FilmsQuery extends ActiveQuery и в метод init закиньте
$this->select([
  '*',
  'date( from_unixtime( created_at ) ) created_at'
]);

3. В модели переопределите метод find
return new FilmsQuery(get_called_class());

Мне кажется, это плохой идеей - переопределять содержимое существующего поля. Лучше заведите новое, или выполняйте преобразование прям в модели: возвращайте дату в нужном формате в каком-нибудь FilmModel::getCreationDate().
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы