从Behavior的beforeValidate()到Model的beforeSave()丢失数据

时间:2012-06-17 20:42:09

标签: cakephp cakephp-2.2

更新

使用saveAll()时,看来slug不会保存。我在save()之后立即执行了saveAll,它现在有效,但它是一个显而易见的问题,如果可能的话,我宁愿让它与saveAll一起工作......我有其他模型应该产生slu ,,我宁愿不必每次只是为了创造一个slug双重保存。


原始问题:

尝试实现此行为:https://github.com/vduglued/CakePHP-Sluggable-Behavior/blob/master/sluggable.php

它工作正常,但最近停止了......我不确定问题是什么,或者我们改变了什么,但我已经缩小了问题

在行为的beforeValidate();函数中,它将正确的slug添加到数据中。当我在那时调试$model->data时,它会显示:

Array('Article' => array('slug'=>'test_1234')  ...

等数据。

如果我在我的文章模型的$this->data中删除了那个调试和调试beforeSave(),它会显示所有数据,但不会显示应该通过SluggableBehavior添加的slug字段

我认为我不应该改变行为,因为我认为它之前的工作正常。但是,CakePHP版本中的最新更新可能会改变与行为和模型如何通信的内容?

1 个答案:

答案 0 :(得分:0)

这是saveAssociated()中的一个错误,更新你的蛋糕核心