Есть ли способ получить значение из формы Bootstrap в cakephp?

Я не хочу использовать FormHelper, который доступен в Cakephp, поэтому я пытаюсь использовать обычную форму Bootstrap, например:

    <form action="" class="form-horizontal" role="form" enctype="multipart/form-data">

                                <div class="form-group">
                                    <label for="title" class="col-sm-2 control-label">Product Name</label>
                                    <div class="col-sm-10">
                                        <input type="text" class="form-control" id="title" name="data[Flower][title]" placeholder="Product Name">
                                    </div>
                                </div>
 </form>

В AddFunction в контроллере:

public function add() {
    pr($this->request->data('data[Flower][category_id]'));
    if ($this->request->is('post')) {

        $this->Flower->set(array(
            'title' => $this->request->data('data[Flower][title]'),
        ));
        $this->Flower->save();

}

Но это не работает. Помоги мне :(

Обновлено: я нашел источник, который решил мою проблему, но я должен придерживаться FormHelper (но теперь это намного удобнее):

Использование CakePHP FormHelper с формами Bootstrap


person trungducng    schedule 11.01.2017    source источник


Ответы (1)


Попробуйте использовать этот код:

public function add() { pr($this->request->data('Flower.category_id')); if ($this->request->is('post')) { $this->Flower->set(array( 'title' => $this->request->data('Flower.title'), )); $this->Flower->save(); }

$_POST['data'] — это массив, поэтому вы должны использовать его как единое целое.

@EDIT: спасибо @ndm за то, что научил меня методу данных, посмотрите ссылку в комментариях

person Sysix    schedule 11.01.2017
comment
Это тоже не сработает, в объекте запроса CakePHP больше не будет ключа data. Рекомендуемое использование: request->data('Flower.category_id'). book.cakephp.org/2.0 /ru/контроллеры/ - person ndm; 11.01.2017
comment
Спасибо за информацию, я не прочитал документацию полностью. Но вы все еще можете получить доступ к свойству данных? - person Sysix; 11.01.2017
comment
извините, но обратите внимание (8): неопределенный индекс: цветок [APP\Controller\FlowersController.php, строка 54] :)) - person trungducng; 11.01.2017
comment
что произойдет, если вы используете print_r на $this->request->data? С выводом вы можете легко проверить формат массива - person Sysix; 11.01.2017
comment
@Sysix Вы также можете получить доступ к свойству $data, да, но использование метода более безопасно, так как оно не будет выдавать ошибку из-за отсутствующих ключей, а вместо этого вернет null, что, в свою очередь, может, например, быть перехвачено правилами проверки. - person ndm; 11.01.2017