Сохранение дополнительных данных в таблицу объединений в методе добавления в CakePHP 3.0

В этом примере из книги:

https://book.cakephp.org/3.0/en/orm/associations.html#using-the-through-option

class StudentsTable extends Table { public function initialize(array $config) { $this->belongsToMany('Courses', [ 'through' => 'CoursesMemberships', ]); } } class CoursesTable extends Table { public function initialize(array $config) { $this->belongsToMany('Students', [ 'through' => 'CoursesMemberships', ]); } } class CoursesMembershipsTable extends Table { public function initialize(array $config) { $this->belongsTo('Students'); $this->belongsTo('Courses'); } } 

Я хочу ввести grade соответствующий курсу # 8, при добавлении нового student . Я следую этим двум примерам:

https://book.cakephp.org/3.0/en/orm/saving-data.html#saving-belongstomany-associations

а также

https://book.cakephp.org/3.0/en/views/helpers/form.html#associated-form-inputs

и изменить метод add в StudentsController.php

 public function add() { $student = $this->Students->newEntity(); if ($this->request->is('post')) { $student = $this->Students->patchEntity($user, $this->request->getData(), [ 'associated' => [ 'Courses']]); if ($this->Students->save($student,['associated' => ['Courses._joinData']])) { $this->Flash->success(__('The student has been saved.')); return $this->redirect(['action' => 'index']); } $this->Flash->error(__('The student could not be saved. Please, try again.')); } $courses = $this->Students->Courses->find('list', ['limit' => 200]); $this->set(compact('student', 'courses')); $this->set('_serialize', ['student']); } 

и Students/add.ctp чтобы иметь

 echo $this->Form->control('courses._ids', ['options' => $courses]); echo $this->Form->control('courses.5._joinData.grade'); 

Когда я выбираю курс №8 в представлении и вводим соответствующий класс, я не вижу его в таблице CoursesMemberships . Он добавляет саму запись, но grade нет.