Вставить массив CakePHP после функции разнесения

Здравствуйте, я сделал что-то похожее в ядре PHP, но попытаться сделать то же самое в cakephp, мне сложно. Я хочу взять входные данные тегов, разобрать данные POST и вставить новый массив в свою собственную таблицу, используя идентификатор записей для каждого тега, разделенных символом ",". Однако, когда я вставляю разобранный массив пуст при создании сообщения.

add.ctp

echo $this->Form->create('Post');
echo $this->Form->input('title');
echo $this->Form->input('body', array('rows' => '3'));
echo $this->Form->input('tags', array('label' =>'Separate tags by commas'));
echo $this->Form->end('Save Post');

PostsController

public function add() {
    if ($this->request->is('post')) {
        $tags = $this->set($this->request->data['Post']['tags']);
        $exploded_tags = explode(",",$tags);

        $this->Post->create();

        if ($this->Post->save($this->request->data)) {
            $this->Session->setFlash(__('Your post has been saved.'));
            return $this->redirect(array('action' => 'index'));
        }
        $this->Session->setFlash(__('Unable to add your post.'));
    }
}

1 ответ

$this->set() предназначен для отправки переменных в представление в CakePHP. Вам не нужно это для получения данных.

public function add() {
    if ($this->request->is('post')) {
        $tags = $this->request->data['Post']['tags'];
        $exploded_tags = explode(",",$tags);

        $this->Post->create();

        if ($this->Post->save($this->request->data)) {
            $this->Session->setFlash(__('Your post has been saved.'));
            return $this->redirect(array('action' => 'index'));
        }
        $this->Session->setFlash(__('Unable to add your post.'));
    }
}
Другие вопросы по тегам