2

解释我从视图中获取数据的方式有点复杂,但它正确地到达了控制器。

我有3 models:(TourOpcione这总是只保存一条记录)TourOpcionOficinaTourOpcionServicio(这些可以一次保存一条或多条记录,并且它们有一个foreign keyto 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'
    )
);
}
4

0 回答 0