Немного сложно объяснить, как я получил данные из представления, но они правильно поступают в контроллер.
я имею 3 models
: TourOpcione
(это всегда сохраняет только одну запись), и TourOpcionOficina
а также TourOpcionServicio
(они могут сохранять одну или несколько записей одновременно, и они имеют foreign key
в TourOpcione
).
Моя проблема в том, что я не знаю, как правильно расположить данные в моем контроллере, прежде чем сохранить их. Я хочу избежать использования цикла, поэтому я хочу сохранить его с saveAll
, или же saveAssociated
или, если это не так, примите любой другой способ.
Объяснения вокруг интернета растеряны.
я использую CakePHP 2.6
На самом деле это массив, который я создал:
array
(
[TourOpcione] => Array
(
[opcion] => 1
[numeroPersonas] => 4
[total] => 2038
[tour_prospecto_id] => 12
)
[TourOpcionOficina] => Array
(
[0] => Array
(
[oficina_id] => 1623
)
[1] => Array
(
[oficina_id] => 1624
)
)
[TourOpcionServicio] => Array
(
[0] => Array
(
[servicio_id] => 6068
)
[1] => Array
(
[servicio_id] => 6067
)
)
)
Спасибо за совет.
ОБНОВИТЬ
На данный момент, TourOpcione
это единственная модель, которая сохраняет данные. Другие 2 нет.
Где может быть моя проблема?
Мои модели следующие (каждый класс по своей модели):
class tour_opcione extends AppModel {
public $name = 'TourOpcione';
public $hasMany = array(
'TourOpcionServicio' => array(
'className' => 'TourOpcionServicio',
'foreignKey' => 'tour_opcione_id',
),
'TourOpcionOficina' => array(
'className' => 'TourOpcionOficina',
'foreignKey' => 'tour_opcione_id',
)
);
}
class tour_opcion_servicio extends AppModel {
public $name = 'TourOpcionServicio';
public $belongsTo = array(
'TourOpcione' => array(
'className' => 'TourOpcione',
'foreignKey' => 'tour_opcione_id'
)
);
}
class tour_opcion_oficina extends AppModel {
public $name = 'TourOpcionOficina';
public $belongsTo = array(
'TourOpcione' => array(
'className' => 'TourOpcione',
'foreignKey' => 'tour_opcione_id'
)
);
}
Задача ещё не решена.
Других решений пока нет …