【发布时间】:2014-07-05 22:32:38
【问题描述】:
我正在尝试在 onAfterWrite 或 before 或 onBeforeDelete 上执行一个简单的写入命令。但它根本不起作用。
Object1 -> 这里我要执行代码。与 Object2 有 $has_one 关系(Item)
public function onAfterWrite(){
parent::onAfterWrite();
$item = Object2::get()->byID($this->ItemID);
$item->Title = 'test123';
$item->write();
}
onAfter/Before 函数彼此存在相同的问题。 如果没有错误,或者别的什么。
错在哪里?
【问题讨论】:
-
我们可以看看你是如何定义你的 2 关系的吗?另外,你到底想用这个实现什么?
-
如果您的关系被定义为
Item => Object2,那么获取Object2 的一种简单方法是$item = $this->Item() -
问题是我在 Object1 上使用了内联网格。因此,如果您编辑 smthg.在内联网格中,第一次保存不保存 object1。如果你第二次点击保存按钮,它就会起作用..
标签: silverstripe