CakePHP не может сохранить поле управления формой в базе данных - PullRequest
0 голосов
/ 15 сентября 2018

Я пытаюсь сделать простое приложение CakePHP!

У меня есть форма, которая создает новую статью. Моя проблема в том, что у меня есть поле ввода для artice slug, но когда я отправляю торт, то поле формы slug в базе данных остается пустым.

вот метод add из моей статьи Controller

public function add(){


    $article = $this->Articles->newEntity(); //gffdgfd
        if ($this->request->is('post')){

        $this->Articles->patchEntity($article, $this->request->data());
            if($this->Articles->save($article)){

            $this->Flash->success(__('Your Article has been saved!'));
            return $this->redirect(['action' => 'index']);


        }

        $this->Flash->error(__('Cannot save article! Please try again!!'));
    }
 $this->set('article', $article);

}

и мой add.ctp

<h1>Add Article</h1>

<?php

echo $this->Form->create($article);

echo $this->Form->control('user_id', ['type' => 'hidden', 'value'=> 1 ]);
echo $this->Form->control('published', ['type' => 'hidden', 'value'=> 1 ]);
echo $this->Form->control('title');
echo $this->Form->control('slug');
echo $this->Form->control('body', ['rows' => 5 ]);
echo $this->Form->button(__('Save Article'), ['class' => 'button', 'style' => 'margin-right:10px; margin-left:10px']);
echo $this->Html->link('Back', ['action' => 'index'], ['class' => 'button']); 
echo $this->Form->end();

?>

1 Ответ

0 голосов
/ 15 сентября 2018

Если в данных вашего запроса присутствует поле slug, вам следует проверить, доступно ли это поле для назначения в вашей организации.Посмотрите на файл src/Model/Entity/Article.php, в верхней части тела класса у вас будет массив с именем $_accessible - проверьте, присутствует ли ваше поле слагов, и если нет, установите его на true:

protected $_accessible = [
    /* other fields */
    'slug' => true
];

Пожалуйста, проверьте больше о назначении свойств в документах: CakePHP 3 Entities - Mass Assignment

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...