0

フォームとコントローラ 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);
4

0 に答える 0