SaveAll 不保存关联的 hasOne 数据
Posted
技术标签:
【中文标题】SaveAll 不保存关联的 hasOne 数据【英文标题】:SaveAll not saving associated hasOne data 【发布时间】:2012-04-09 23:04:39 【问题描述】:在这家呆了几个小时,无法弄清楚为什么会发生这种情况,感谢任何帮助...
我有两个模型 - 图片和链接。
图片hasOne
链接
链接belongsTo
图片
我将以下格式的数据放在一个名为$images
的变量中
Array
(
Array
(
[Image] => Array
(
[timestamp] => ...
[full] => ...
)
[Link] => Array
(
[loc] => ...
[lastmod] => ...
)
)
...
)
然后拨打$this->Image->saveAll($images, array('deep'=>true));
这会保存 Image 模型,但不会保存 Link 模型。
在 Image 模型的 beforeSave 回调中,$this->data 中的数据被适当地传递。但是在 afterSave 回调中,Link 模型出现了——但是它的字段是空的。
没有为链接数据保存数据,只有图像数据。
我错过了什么吗?阅读文档一百万次:(
【问题讨论】:
您能在您的模型中发布您的$hasOne
和$belongsTo
吗?
【参考方案1】:
我觉得回答这个有点愚蠢,但是就这样吧。
我在afterSave()
中为Image
模型使用了一些调试代码。
打印出数据后,我打电话给exit()
。
我没有注意到,在保存 Image
之后,Cakephp 也不会访问数据中的 Link
模型来保存它。
0_0
【讨论】:
以上是关于SaveAll 不保存关联的 hasOne 数据的主要内容,如果未能解决你的问题,请参考以下文章