Вставить массив 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.'));
}
}