如何安排数组在CakePHP中保存所有?

时间:2015-05-22 19:24:11

标签: php arrays cakephp multidimensional-array cakephp-2.6

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

我有3 modelsTourOpcione(这总是只保存一条记录),TourOpcionOficinaTourOpcionServicio(这些可以保存一条或多条记录,而且它们拥有foreign keyTourOpcione)。

我的问题是我不知道在保存之前在控制器中排列数据的正确方法是什么。我想避免使用循环,所以我希望用saveAllsaveAssociated保存它,或者如果不是这样,则接受任何其他方式。 互联网的解释很困​​惑。 我正在使用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'
    )
);
}

0 个答案:

没有答案