Задать вопрос
VladSavelev
@VladSavelev
Good man

Можно ли в Yii2 использовать save() без прохождения afterSave()?

В базовой модели приложения хочу создавать лог записи.
Решил реализовать через метод aftersave() чтоб по проекту меньше кода было.
Проблема заключается в том что при сохранении лога, он заносится в БД через save() метод.
Как мне избежать этого ? Или придется только через прямой SQL запрос сохранять сущности логов в БД?
  • Вопрос задан
  • 231 просмотр
Подписаться 1 Средний Комментировать
Решения вопроса 1
kawabanga
@kawabanga
кажется save(false) - сохранение без валидации и доп функций.
как вариант попробуйте там же - update() .
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
qonand
@qonand
Software Engineer
Во первых логирование - это сквозной функционал, а размещать сквозной функционал в коде модели (в afterSave) ни разу не тру. Лучше уж сделать отдельное поведение которое будет цеплять на событие сохранения модели и заносить необходимые данные в базу.
Во вторых зачем вообще Вы используете модель лога при логировании? Вам то по сути дела нужно просто сформировать данные и записать их в базу и все. Нет смысла тратить ресурса на модели не используя их функционал, поэтому лучше заносить прямым запросов в базу.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы