Cakephp无法保存相关模型

时间:2013-09-26 01:27:20

标签: php cakephp cakephp-appmodel

我的模型CloudAppPolicy模型有HABTM关系,例如:

class CloudApp extends AppModel {
    public $displayField = 'name';        
    public $hasAndBelongsToMany = array(
        'Policy' => array(
            'className' => 'Policy',
            'joinTable' => 'cloudapp_policies',
            'foreignKey' => 'cloud_app_id',
            'associationForeignKey' => 'policy_id',
            'unique' => 'keepExisting',
        )
    );

}

Policy模型看起来像这样 -

class Policy extends AppModel {
        public $belongsTo = 'CloudApp'; 
}

当我使用脚手架时,一切正常 - 我能够为我保存的CloudApp多选策略。

但是当我尝试手动保存数据时,Policy模型中的关联数据没有被保存。

这是我的add控制器 -

public function add(){     $这 - > loadModel( '政策');     $ this-> set('policies',$ this-> Policy-> find('list',array(                 'fields'=>阵列( 'Policy.name')     )));

if ($this->request->is('post')) {
    pr($this->request->data);
    $this->CloudApp->saveAll($this->request->data);        }

}

add.ctp看起来像这样 -

echo $this->Form->create('CloudApp');
?>
<fieldset>
    <legend><?php echo __('Add Application'); ?></legend>
    <?php    
    echo $this->Form->input('name');
    echo $this->Form->input('policies', array(
        'multiple' => true
    ));    

    ?>
</fieldset>
<?php echo $this->Form->end(__('Submit')); ?>

pr($this->request->data);的输出是 -

Array
(
    [CloudApp] => Array
        (
            [name] => 123
            [policies] => Array
                (
                    [0] => 18
                    [1] => 19
                    [2] => 20
                )

        )

)

我做错了什么?

0 个答案:

没有答案