Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php SilverStripe单一一对一对象错误_Php_Silverstripe - Fatal编程技术网

Php SilverStripe单一一对一对象错误

Php SilverStripe单一一对一对象错误,php,silverstripe,Php,Silverstripe,我在团队和教练之间有一对一的关系。我使用通过Teamgridfield编辑页面直接编辑教练姓名 在第一次Team保存时,将使用提供的名称创建两条Coach记录。但是,在每次连续保存时,都会创建一条新的Coach记录,这显然不是期望的结果。相反,它应该将更新后的名称保存到相同的记录中,因为Coach不会更改,更改的只是它们的列(名称) 团队 class Team extends DataObject { private static $has_one { 'MainCoa

我在
团队
教练
之间有一对一的关系。我使用通过
Team
gridfield编辑页面直接编辑教练姓名

在第一次
Team
保存时,将使用提供的名称创建两条
Coach
记录。但是,在每次连续保存时,都会创建一条新的
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

}

如果您认为这是有问题的模块的一个bug,您应该在他们的问题跟踪程序中将其报告为bug。顺便说一句,你的两个字段名都是相同的……我想你应该希望第二个字段名读作
AssistentCoach-\u 1\u-Name
?@bummzack确实已经向github上的mod issue tracker报告了。是的,名称问题是一个类型错误请参见$atto,请参见