加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

CakePHP:绑定模型不起作用

发布时间:2020-12-13 21:39:16 所属栏目:PHP教程 来源:网络整理
导读:我有用户HABTM专业. 在用户编辑中,有一个专业的复选框列表. 当我在用户模型中定义HABTM关系时,它正在工作. 但由于这种关系正在中断其他功能,我将其删除并将其放入用户控制器中 $this-User-bindModel( array( 'hasAndBelongsToMany' = array( 'Profession' =
我有用户HABTM专业.
在用户编辑中,有一个专业的复选框列表.
当我在用户模型中定义HABTM关系时,它正在工作.
但由于这种关系正在中断其他功能,我将其删除并将其放入用户控制器中

$this->User->bindModel(
        array(
            'hasAndBelongsToMany' => 
            array(
                'Profession' =>
                    array(
                        'className'              => 'Profession','joinTable'              => 'professions_users','foreignKey'             => 'user_id','associationForeignKey'  => 'profession_id','unique'                 => true,'conditions'             => '','fields'                 => '','order'                  => '','limit'                  => '','offset'                 => '','finderQuery'            => '','deleteQuery'            => '','insertQuery'            => ''
                    )
                )
            )
        );

该绑定函数的返回值也是如此.

现在,当我调用$this-> User-> saveAll($this-> data)时,不再在professions_users表中创建行.

任何的想法?

解决方法

bindModel的默认行为是对一个查找操作存在,然后恢复为默认关联.您可能认为保存操作不会触发此操作,但如果您使用 Cake’s count-caching feature,或者执行带有执行查找的afterSave回调的行为,则可能是错误的.

尝试传递false作为Model :: bindModel调用的第二个参数.这将使您的动态绑定持续到请求的持续时间.通过调用Model :: resetAssociations,您可以在saveAll完成后显式重置关联.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读