Моя модель отношений выглядит следующим образом:
Student hasMany ClassStudent
Class hasMany ClassStudent
ClassStudent belongsTo Student
ClassStudent belongsTo Class
ClassStudent is a join model.
Я хочу создать учеников, использовать существующий класс или создать новый, а также создать запись модели соединения, которая связываетСтуденты и классы.
Я хочу сделать все это за один звонок, чтобы сэкономить (если это вообще возможно).
Я пытался:
$data = array(
'Student' => array(
'0' => array( ... ), // Data in here
'1' => array( ... ),
...,
'n' => array( ... )
),
'Class' => array(
'class_id' => x // The class that I want the above students to be associated with
)
)
Что яВы хотите создать n записей учеников, а также добавить их в класс (возможно, создав класс одновременно, если пользователи захотят добавить новый).Я также хочу создать запись модели соединения для каждого учащегося в классе при создании записей учащегося.
Возможно ли это?Я использую Cake 2.1.0 (сегодняшний стабильный выпуск) и пробовал разные типы saveAll (saveAssociated и saveMany) с $ options ['deep'] = true.
Возможно ли мой массив данныхне в правильном формате?
РЕДАКТИРОВАТЬ: Я также пытался:
$data = array(
'ClassStudent' => array(
'0' => array(
'Student' => array (...), // Data
'Class' => array(id => x) // The id of the Class the Student should be associated to
...,
'n' => array(
'Student' => array(...), // n-th Student
'Class' => array(id => x)
)
);
$this->saveAll($data['ClassStudent'], array('deep' => true));
В приведенном выше случае он успешно создает новые записи учеников в таблице учеников, но в соединительной таблице ничего не создано.