2
外国の関係フィールドにフォーム値を書き込む最も良い方法は何ですか?SilverStripe外国関係のフィールドへの書き込み方法
$coachField
の値を外部テーブルの特定の列に保存する必要があります。 IE:Team
オブジェクト形式の中で、私はCoach
の名前(レコードのために1対1の関係を持っています)を保存する必要があります。
私はコーチの名前を取得するにはTeam
にonAfterWriteを使用して傾いていますが、私は最初の場所で値を取得すると、上記のすべて、これが最善の方法であるかどうかわかりません。あなたがhasoneeditモジュールを使用することができます1関係:1の場合
現在のDataObject
class Team extends DataObject {
// The value needs to be saved in Coach->Name
private static $has_one = array(
'Coach' => 'Coach'
);
public function getCMSFields() {
// The form field where to get the value from
$coachField = TextField::create('CoachName', 'Who is the coach');
}
}
外国のDataObject
class Coach extends DataObject {
// Here's where the name should be written to
private static $db = array(
'Name' => 'Varchar'
);
private static $belongs_to = array(
'Team' => 'Team'
);
}
魅力的な作品です。 – Faloude