0

SilverStripe 2.4では、子データオブジェクト「B」のonAfterWrite()メソッドで親データオブジェクト「A」のIDを取得できました。

$this->AClassID

「B」のonAfterWrite()メソッドで「A」のIDを取得するにはどうすればよいですか?

注:「A」には多くの「B」があり、「B」には1つの「A」があります(1対多の関係)。

親切な検討のためにここにサンプルコード:

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 に答える