CakePHP 3 - Невозможно добавить новую запись

Когда я отправляю новую форму Job, действие hte передает всю информацию по URL, но действие по сохранению не происходит, и не появляется флэш-сообщение об успехе или ошибке.

В переменной tab в отладочном файле все выглядит хорошо, за исключением, может быть, идентификатора, но в любом случае он должен автоматически увеличиваться...

job (array)
    [new] (true) 
        [accessible] (array) 
            * (true)
            id (false)

Метод редактирования задания хорошо работает.

добавить функцию работы

public function add()
{
        $job = $this->Jobs->newEntity();
        if ($this->request->is('post')) {
            $job = $this->Jobs->patchEntity($job, $this->request->getData());
            $job->user_id = $this->Auth->user('id');
            if ($this->Jobs->save($job)) {
                $this->Flash->success(__('Job hasbeen saved'));

                return $this->redirect(['action' => 'index']);
            }
            $this->Flash->error(__('Please try again'));            
        }

        $categories = $this->Jobs->Categories->find('list');
        $users = $this->Jobs->Users->find('list');
        $types = $this->Jobs->Types->find('list');
        $this->set(compact('job', 'categories', 'users', 'types'));
        $this->set('_serialize', ['job']);
    }   

Посмотреть

<div class="col_12 column">
    <form id="reg_form">    
        <fieldset>
            <legend><?= __('Add Job') ?></legend>
            <?php
                echo $this->Form->create($job);
                echo $this->Form->control('category_id', ['options' => $categories]);           
                echo $this->Form->control('user_id', ['options'=>$users]);
                echo $this->Form->control('type_id', ['options' => $types]);
                echo $this->Form->control('company_name');
                echo $this->Form->control('title');
                echo $this->Form->control('description');
                echo $this->Form->control('area');
                echo $this->Form->control('city');
                echo $this->Form->control('contact_email');
                echo $this->Form->button(__('Submit'));
                echo $this->Form->end();
          ?>
        </fieldset>   
    </form>
</div>

0 ответов

Другие вопросы по тегам