@AvoiDFaTE

Yii2 Как сохранять ActiveRecord через хранимую процедуру Table API?

Посоветуйте, пожалуйста, способ, если это вообще целесообразно, как использовать Active Record в условиях, когда запись в таблицу производится через хранимую процедуру, а не прямым оператором INSERT или UPDATE. Т.е. часть логики выполняется на стороне СУБД. Пока вижу только вариант переопределять у модели методы insert и update и хардкодить в них вызовы хранимых процедур. Но это видится мне варварством из разряда "а зачем тогда AR?". Вдруг есть альтернативы.
Заранее спасибо.
  • Вопрос задан
  • 400 просмотров
Решения вопроса 1
qonand
@qonand
Software Engineer
Наличие логики в СУБД само по себе не правильно. Поэтому если можете избежать этого - избегайте. Если же все таки такой ситуации избежать не получается (всякие случаи бывают ... ) тогда у Вас есть два варианта решения:
1. Если у Вас AR не содержит особой логики и запросов к БД тогда реализуйте отдельный класс-репозиторий который будет заниматься работой с БД, в том числе и сохранением
2. Если AR содержит какую-то логику или запросы - тогда только костылить и переопределять сохранение на уровне AR
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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