@bizzonaru

Yii2 Как правильно обрабатывать $_POST данные внутри метода beforeSave()?

Скажите, а как правильно принимать $_POST данные для такого случая?
public function beforeSave($insert)
    {
        if (parent::beforeSave($insert)) {
 
            Authors2products::deleteAll('products_id = :products_id', [':products_id' => $this->id]);
            
            $post = Yii::$app->request->post();
            
            if(isset($post['Products']['authors'])) {
                foreach($post['Products']['authors'] as $authors_id) {
                    $authors2products = new Authors2products();
                    $authors2products->authors_id = $authors_id;
                    $authors2products->products_id = $this->id;
                    $authors2products->save(); 
                }
            }
            
            return true;
        }
        return false;
   }
  • Вопрос задан
  • 173 просмотра
Пригласить эксперта
Ответы на вопрос 1
webinar
@webinar Куратор тега Yii
Учим yii: https://youtu.be/-WRMlGHLgRg
В контролере используйте $model->load()
При необходимости задайте публичную переменную в моделе, например public $authors;
Потом в beforeSave используйте $this->authors
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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