在 SilverStripe 2.4 中,我能够通过子数据对象“B”的 onAfterWrite() 方法获取父数据对象“A”的 ID
$this->AClassID
如何在“B”的 onAfterWrite() 方法中获取“A”的 ID?
注意:“A”有多个“B”,“B”有一个“A”(一对多关系)。
此处的示例代码供您考虑:
在 SilverStripe 2.4 中,我能够通过子数据对象“B”的 onAfterWrite() 方法获取父数据对象“A”的 ID
$this->AClassID
如何在“B”的 onAfterWrite() 方法中获取“A”的 ID?
注意:“A”有多个“B”,“B”有一个“A”(一对多关系)。
此处的示例代码供您考虑:
试试$this->AClass->ID
。或者,如果您在ieParent
中设置了关系has_one
public static $has_one=array(
'Parent'=>'AClass'
);
你可以使用$this->Parent->ID
.
在继续之前使用 if 语句确保它不为 0。喜欢
if($this->ID){
//put all your code here
}
或者
if($this->RelationName()->ID){
//put all your code here
}
原因是它被多次调用,你只需要在它非零时执行。
试试这个:
$this->Parent()->ID