Класс CMultiFileUpload не вставляет имена изображений в базу данных yii

Я работаю над мультифайловой загрузкой изображений.
Я перепробовал все, что получил.
Это не работает.
Это загрузка изображений по указанному пути, но не вставка имен изображений в столбец таблицы.
Название столбца таблицы - "образец"

Вот фрагмент вида:

$this->widget('CMultiFileUpload', array(
    'model' => $model,
    'name' => 'sample',
    'attribute' => 'sample',
    'accept' => 'jpeg|jpg|gif|png',
    'duplicate' => 'Duplicate file!',
    'denied' => 'Invalid file type',
    'remove' => '[x]',
    'max' => 20,
  ));

Это код контроллера (функция, связанная с деталью):

public function actionCreate($project_id) {
    $model = new Bid();
    $project = $this->loadModel('Project', $project_id);

    if (count($project->bids) == 5) {
        Yii::app()->user->setFlash('warning', Yii::t('bids', 'This project has already reached its maximum number of bids, so you cannot post a new bid.'));
        $this->redirect(array('project/view', 'id' => $project_id));
    }

    if (!empty($project->bid)) {
        Yii::app()->user->setFlash('warning', Yii::t('bids', 'This project has a selected bid already, so you cannot post a new bid.'));
        $this->redirect(array('project/view', 'id' => $project_id));
    }

    if ($project->closed) {
        Yii::app()->user->setFlash('warning', Yii::t('bids', 'You cannot add bids as this project has been closed.'));
        $this->redirect(array('project/view', 'id' => $project_id));
    }

    $model->project = $project;

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

        $photos = CUploadedFile::getInstancesByName('sample');
        if (isset($photos) && count($photos) > 0) {

            foreach ($photos as $image => $pic) {
                $pic->name;
                if ($pic->saveAs(Yii::getPathOfAlias('webroot').'/images/'.$pic->name)) {
                    // add it to the main model now
                    $img_add = new Bid();
                    $img_add->filename = $pic->name;
                    $img_add->save();
                }
                else {

                }
            }
        }

        $model->project_id = $project->id;
        $model->freelancer_id = $this->currentUser->id;
        if ($model->save()) {
            $this->redirect(array('project/view', 'id' => $project->id, '#' => 'bidslist'));
        }
    }

    $this->render('create', array(
        'model' => $model,
    ));
}

Заранее спасибо. Пожалуйста, дайте мне знать, если кому-то нужно что-то еще для лучшего понимания.

1 ответ

Если я правильно понимаю вас при сохранении модели

 $img_add = new Bid();
 $img_add->sample = $pic->name;
 $img_add->save();
Другие вопросы по тегам