【问题标题】:How to change a ARO parent in CakePHP如何在 CakePHP 中更改 ARO 父级
【发布时间】:2011-11-02 17:11:59
【问题描述】:

我在更新我的 CakePHP 应用程序中的 aros 表时遇到问题。这是我得到的代码:

$aro = 新的 Aro(); $targetAro = $aro->find('first', array('conditions' => array('foreign_key' => intval($user['User']['id'])))); $newParent = $aro->find('first', array('conditions' => array('alias' => $userUpdate->level))); $targetAro['Aro']['parent_id'] = $newParent['Aro']['id']; $aro->updateAll($targetAro);

我已放入调试日志语句以确保我从 find 调用中获得正确的结果。但是当我在 updateAll 调用后检查数据库时,数据没有改变。任何想法可能会发生什么?

我也尝试调用 $aro->setParent 但我也无法让它工作。

【问题讨论】:

    标签: cakephp acl


    【解决方案1】:

    我通过跟踪在蛋糕控制台中执行类似操作的代码发现了问题。而不是使用 $aro->updateAll($targetAro) 我应该使用 $aro->saveAll($targetAro)

    updateAll() 用于保存对多个实体的更改。第一个参数应该是一个值数组。当您只想将更改保存到单个实体时使用 saveAll(),如上面代码中的情况。

    虽然我应该这样做,但由于我传递给 updateAll() 的参数不正确,我在日志或脚本输出的任何地方都找不到错误输出。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-26
      • 1970-01-01
      • 1970-01-01
      • 2011-10-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多