مشکل ثبت چند رکورد در هنگام ارسال اطلاعات (Inserting multiple record on a form submit)

یکی از مشکلاتی که جدیدا در نسخه ۱٫۱۷ فریم ورک yii پیش اومده اینه که زمانی که شما میخواهید به وسیله ی یک form فایلی را آپلود نمایید
یعنی استفاده از : multipart/form-data با مشکل ثبت چند مورد دیتا در دیتابیس می شوید

برای فعال کردن امکان ارسال فایل در ویجت فورم باید تنظیمات زیر را انجام دهید:

    $form = $this->beginWidget('CActiveForm', array(
        'id' => 'carticle-form',
        // Please note: When you enable ajax validation, make sure the corresponding
        // controller action is handling ajax validation correctly.
        // There is a call to performAjaxValidation() commented in generated controller code.
        // See class documentation of CActiveForm for details on this.
        'enableAjaxValidation' => false,
        'htmlOptions' => array(
            'enctype' => 'multipart/form-data',
            'class' => 'content-form',
            'id' => 'block-validate',
        ),
    ));

مشکل ثبت چند مورد به دلیل فعال بود ajaxValidation می باشد .زمانی که مقدار آن true باشد با این مشکل مواجه می شوید.
کافی است که مقدار آن را false قرار دهید :

 'enableAjaxValidation' => false,

در صورتی که نیاز دارین حتما از ajax استفاده کنین باید در کنترلر خود ذخیره سازی اطلاعات را زمانی انجام دهید که ریکوئست ارسالی ajax نباشد
یعنی چک کنید که زمانی که ریکوئستی به وسیله ی ajax به کنترلر ارسال شد عمل ذخیره انجام نشود
کد زیر :

 if(!Yii::app()->request->isAjaxRequest){
        if($model->save())
            $this->redirect(array('view','id'=>$model->event_id));
    }

با کد بالا بررسی کردیک که زمانی که ریکوئست ajax نبود عملیات ذخیره سازی را انجام بده .