SilverStripe单一对一对象bug

时间:2017-01-14 19:16:58

标签: php silverstripe

我在TeamCoach之间存在一对一的关系。我使用has one edit module直接通过Team网格字段编辑页面编辑Coach的名称。

在第一次Team保存时,使用提供的名称创建两条Coach条记录。但是,会在每次连续保存时创建新的Coach记录,这显然不是理想的结果。相反,它应该将更新的名称保存到相同的记录中,因为教练不会改变,只是他们的列(名称)会发生变化。

团队

class Team extends DataObject {

    private static $has_one {
        'MainCoach' => 'Coach',
        'AssistentCoach' => 'Coach'
    );
}

长途汽车

class Coach extends DataObject {

    private static $db = array(
        'Name' => 'Varchar'
    );

小组编辑页面

public function getCMSFields() {

    TextField::create('MainCoach-_1_-Name', 'Main coach name'),      // main coach name
    TextField::create('AssistentCoach-_1_-Name', 'Assistent coach name')  // assistent coach name

}

0 个答案:

没有答案