0

在 SilverStripe 2.4 中,我能够通过子数据对象“B”的 onAfterWrite() 方法获取父数据对象“A”的 ID

$this->AClassID

如何在“B”的 onAfterWrite() 方法中获取“A”的 ID?

注意:“A”有多个“B”,“B”有一个“A”(一对多关系)。

此处的示例代码供您考虑:

http://www.sspaste.com/paste/show/507d5222878a7

4

3 回答 3

2

试试$this->AClass->ID。或者,如果您在ieParent中设置了关系has_one

public static $has_one=array(
    'Parent'=>'AClass'
);

你可以使用$this->Parent->ID.

于 2012-10-16T10:49:34.133 回答
0

在继续之前使用 if 语句确保它不为 0。喜欢

if($this->ID){
 //put all your code here
}

或者

if($this->RelationName()->ID){
 //put all your code here
}

原因是它被多次调用,你只需要在它非零时执行。

于 2012-10-17T01:34:31.750 回答
0

试试这个:

$this->Parent()->ID
于 2015-08-31T16:24:01.453 回答