Динамический выпадающий и сохранить код CakePHP не работает вместе - PullRequest
0 голосов
/ 27 ноября 2018

У меня есть три таблицы «Категории», «Курсы» и «Предметы» со следующими ассоциациями

  1. Категория имеет много курсов
  2. Курс принадлежит к категории, курс имеет много тем
  3. Тема BelongsTo Course, Тема hasMany Notes
  4. Notes BelongsTo Subject

Когда я пытаюсь сохранить данные, они выдают ошибку «Вызов функции-члена create () on null».

class SubjectsController extends AppController {

    public $uses = array('Category','Course');

    public function add(){
        pr($this->request->data);die;
        if ($this->request->is('post')) {
            pr($this->request->data);die;
            $this->Subject->create();
            if ($this->Subject->save($this->request->data)) {
                $this->Flash->success(__('The subject has been saved.'));
                return $this->redirect(array('action' => 'index'));
            } else {
                $this->Flash->error(__('The subject could not be saved. Please, try again.'));
            }
        }
    }
}

Ответы [ 2 ]

0 голосов
/ 28 ноября 2018

Убедитесь, что полученные данные верны, и сделайте так:

$this->Subject->create();
$this->Subject->set(array($this->request->data);
$this->Subject->save();
0 голосов
/ 28 ноября 2018

Это не имеет никакого отношения к вашему Ajax.Это говорит вам прямо в сообщении об ошибке.Вы пытаетесь вызвать функцию create из объекта null.В этом случае, $this->Subject.

У вас есть $this->uses модели категорий и курсов, но не предмет.Вы можете либо добавить это в список того, что использует этот контроллер, либо вы можете получить к нему через существующую связь с тем, что вы уже используете: $this->Course->Subject.

...