Как организовать массив для сохранения всего в CakePHP?

Немного сложно объяснить, как я получил данные из представления, но они правильно поступают в контроллер.

я имею 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'
)
);
}

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]