YiiFramework 400 Bad Request

wertymne

Новичок
Привет всем! Никак не могу побороть ошибку, уже дня так два.

Предыстория. Я создал контроллер с действием update

PHP:
/**
 * Updates an existing Car model.
 * If update is successful, the browser will be redirected to the 'update' page.
 * @param integer $id
 * @return mixed
 */
public function actionUpdate($id) {
    $model = $this->findModel($id);

    if( $model->load(Yii::$app->request->post()) && $model->save() ) {
        //$car_images_delete = Yii::$app->request->post('car_image_delete');
           
        /*if( is_array($car_images_delete)
        && count($car_images_delete) > 0 )
            CarPhoto::find()
                ->where(['id' => $car_images_delete, 'car_id' => $model->id])
                ->delete();*/
           
        /*$car_images_add = UploadedFile::getInstancesByName('car_image_add');
           
        if( is_array($car_images_add) )
            foreach( $car_images_add as $car_image_add ) {
                $CarPhoto = new CarPhoto();
                $CarPhoto->car = $model;
                $CarPhoto->image = $car_image_add;
                $CarPhoto->save();
            }*/
           
        return $this->redirect(['update', 'id' => $model->id]);
    } else
        return $this->render('update', [
            'model' => $model,
        ]);
}
, инициализировал форму с полями сущности, которую я обновляю:

PHP:
<div class="car-form">
    <?php $form = ActiveForm::begin([
        'options' => ['enctype' => 'multipart/form-data']
    ]); ?>
        <?= $form->field($model, 'name')->textInput(['maxlength' => 255]) ?>
        <?= $form->field($model, 'slug')->textInput(['maxlength' => 50]) ?>
        <?= $form->field($model, 'brand_id')->dropDownList(ArrayHelper::map(Brand::find()->asArray()->all(), 'id', 'name'), ['prompt'=>'Выберите марку']) ?>
        <?= $form->field($model, 'old_price')->textInput(['maxlength' => 13]) ?>
        <?= $form->field($model, 'top_sale')->checkbox() ?>
       
        <div class="form-group">
            <?= Html::label('Фотографии') ?>
           
            <? foreach( $model->carPhotos as $CarPhoto ) { ?>
                <p><?= Html::img($CarPhoto->getThumbFileUrl('image', 'thumb')) ?></p>
                <p><?/*= Html::checkbox('car_image_delete[]', false, [
                    'value' => $CarPhoto->id,
                    'label' => 'Удалить',
                    'uncheck' => 0
                ]) */?></p>
            <? } ?>
           
            <?= Html::fileInput('car_image_add[]') ?>
        </div>
       
        <div class="form-group">
            <?= Html::submitButton($model->isNewRecord ? 'Добавить' : 'Сохранить', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?>
        </div>
    <?php ActiveForm::end(); ?>
</div>
. Форма работает отлично, но стоит раскоментировать код с выводом checkbox`ов, выводится ошибка 400. При просмотре кода страницы, csrf генерируется и передается в обоих случаях. Пробовал такэе описывать поле черзе аттрибут модели (создал св-во и вызвал поле методом field()) - не помогло.

Мои предположения. В случае добавления в запрос (post, т.к. передача файлов происходит успешно) переменных, не относящихся к модели, которую я редактирую ($model), CSRF перестает проверяться, т.к. при закоментированном поле все работает отлично. Немного полазив в классе \yii\web\Request, я обраружил, что на этапе загрузки cookie и проверки при помощи cookieValidationKey, cookie с _csrf не проходит проверку подлинности, от туда уже выскакивает неверный csrf и ошибка 400 - дальше не лез.

В чем может быть проблема (может, я что-то не учел) и как мне ее решить?
 
Сверху