フォームとコントローラ ZF 2 があります。ファイルやその他のデータをアップロードできますが、ファイルのパスの @value をフィールドの値としてデータベース テーブルに書き込むことができません。テーブルデータベースのフィールドに値配列のみを表示します! コントローラーまたは他の場所を変更して、配列ではなくファイルパスの値をテーブルのフィールドに保存するにはどうすればよいですか?
RestaurantController.php
$form = new RestaurantForm();
$form->get('submit')->setValue('Добавить ресторан');
$request = $this->getRequest();
if ($request->isPost()) {
$restaurants = new Restaurant();
$form->setInputFilter($restaurants->getInputFilter());
$data= array_merge_recursive(
$this->getRequest()->getPost()->toArray(),
$this->getRequest()->getFiles()->toArray()
);
$form->setData($data);
if ($form->isValid()){
//array_map('unlink', glob('./public/img/restaurants*'));{
$restaurants->exchangeArray($form->getData());
$this->getRestaurantsTable()->saveRestaurant($restaurants);
// Form is valid, save the form!
// Redirect to list of albums
return $this->redirect()->toRoute('zfcadmin/restaurants');
}
}
//else return $this->redirect()->toRoute('zfcadmin');
return array('form' => $form);
}
レストランフォーム.php
// File Input
$file = new Element\File('restaurant_thumbnail');
$file->setLabel('Загрузите главный рисунок ресторана')
->setAttribute('id', 'image-file');
$this->add($file);
レストラン.php
#version2
// $inputFilter = new InputFilter();
// File Input
//https://github.com/cgmartin/ZF2FileUploadExamples/blob/master/src/ZF2FileUploadExamples/Form/SingleUpload.php
$file = new FileInput('restaurant_thumbnail');
$file->setRequired(true);
$file->getFilterChain()->attachByName(
'filerenameupload',
array(
'target' => './public/img/restaurants/*',
'overwrite' => true,
'use_upload_name' => true,
)
);
$inputFilter->add($file);