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
,请参见