Добрый день. Такой вопрос.
Хочу импортировать Excel-файл с таблицей, с последующим редактирование и сохранением в БД.
Получаю в контроллере import пустое значение.
array(1) { ["document"]=> string(0) "" }
Так же не работает валидация.
- Модель файла
class DocumentForm extends CFormModel {
public $document;
public function rules() {
return array(
array('document', 'required'),
array('document','file','types'=>'xls,xlsx'),
);
}
public function attributeLabels() {
return array(
'document' => 'Документ',
);
}
}
Контроллер (index)
$docModel=new DocumentForm;
$this->render('index',array(
'docModel'=>$docModel,
));
Представление (index)
echo CHtml::form('','POST',array('enctype'=>'multipart/form-data'));
echo CHtml::activeFileField($docModel, 'document');
echo CHtml::button('Импорт', array('submit' => array('import')));
echo CHtml::endForm();
Представление для редактирования таблицы (import)
if(isset($_POST['DocumentForm'])) {
$docModel->attributes = $_POST['DocumentForm'];
$docModel->document = CUploadedFile::getInstance($docModel,'document');
$objPHPExcel = PHPExcel_IOFactory::load($documentModel->document->tempName);
// ...
}