Я все еще новичок в cakephp. У меня есть вопрос таблицы и questionQuizzes. Я создал форму с именем existingQuestion в вопросе контроллера и хочу сохранить ее в таблице questionQuizzes. Однако форма не может быть сохранена. Я последовал этому примеру, но он по-прежнему не может быть сохранен.
Это QuestionController
public function existingQuestion() { //echo "here<br><br>"; //$QuestionQuizzesTable = $this->loadModel('QuestionQuizzes'); $questions = $this->paginate($this->Questions); $questionQuiz = $this->QuestionQuizzes->newEntity(); //print_r($this->request->getData()); //die(); if($this->request->is('post')) { $questionQuiz = $this->QuestionQuizzes->patchEntity($questionQuiz, $this->request->getData()); print_r($this->request->getData()); die(); if ($this->QuestionQuizzes->save($questionQuiz)) { $this->Flash->success(__('The question has been saved.')); return $this->redirect(['action' => 'existingQuestion']); } $this->Flash->error(__('The question could not be saved. Please, try again.')); } //$this->Questions->saveAll($this->request->getData()); $this->set(compact('questions')); $this->set('_serialize', ['questions']); }
Может кто-нибудь мне помочь?!
Отредактировано: Я попытался отладить, и он показывает ошибку, подобную этой . И он показывает ошибку на линии отладки сам по себе.
Отредактировано 2: I print_r, и результат выглядит следующим образом . Ан, когда я пытался отлаживать, он выглядит следующим образом
Ваши данные неверны. Где ты нашел это? Он должен выглядеть так:
[ 'questions' => [ '_ids' => [ 0 => 60, 1 => 61, ] ] ]
Обратите внимание, что вопросы теперь имеют более низкий регистр и множественное число, а id заменяется на _ids. Подробнее см. Здесь .
Вы также захотите перенести это на контроллер patchEntity
(как я предположил в прошлый раз ) и сделаем patchEntity
на patchEntity
викторины (через модель patchEntity
), потому что сейчас данные, которые у вас есть, бессмысленны: как он знает, какую викторину предполагается добавить эти вопросы?