Задать вопрос
@smoln

Правильно ли я делаю запрос в yii1?

Добрый день. Есть задача в yii1 сравнить данные до и перед записью в базу и отправить письмо на почту с указанием различий.
Как делаю сейчас, я получаю определленный массив в контроллере до записив базу $arr1=$model->attributes['feature'] , , после записи $model->save() я получаю второй массив $arr2=$model->attributes['feature'] он уже обновленный, в представлении сраниваю(может сравнивать тоже нужно в контроллере?) и отправляю по почте.
Вот код контроллера
$model = $this->loadModel($id);

        $arr1=$model->attributes['feature'];
        if (isset($_POST['SedUnit'])) {

        $model->attributes = $_POST['SedUnit'];

        if ($model->save()) {

        $arr2=$model->attributes['feature'];   

        $subj="Пользователь ".Yii::app()->user->name." внес изменения в оборудование ";

        $body = ['arr1' => $arr1,'arr2' =>$arr2];

        $sendOK=$this->sendMessage($subj, $body);  
 
         Yii::app()->user->setFlash('success', "Информация сохранена.");
                    
            } else {
         Yii::app()->user->setFlash('error', "Не удалось сохранить.");
            }
        }

        $this->render($view, [
            'model' => $model,
            'form' => new CForm($model->formConfig, $model),
        ]);

Правильно ли я делаю, или это нужно все проверять в модели через beforeSave и afterSave и уже потом задействовать контроллер для сравнения и отправки?
  • Вопрос задан
  • 61 просмотр
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽