如何在SilverStripe ORM / Dataobject中定义复合主键

时间:2016-05-19 13:40:10

标签: php silverstripe

SilverStripe的DataObject为我们提供了以下内容:

ID - 主键

但是如何定义组合键(由2列或更多列组成的主键)?我搜索了文档,无法在任何地方找到这些信息。

1 个答案:

答案 0 :(得分:2)

我不确定主键,但您可以设置唯一索引。它应该给你一个类似于here的类似结果。

YourDataObject

使用此代码,如果已存在数据库中包含这些值的记录,则无法使用MyField = 'test'MyOtherField = 'othertest'创建YourDataObject。可以创建MyField,仅MyOtherField作为测试,xr["attrName"]作为其他内容。

但是,建议您在将其写入数据库之前对其进行检查,因为在ModelAdmin中会出现用户错误的错误。

documentation

复制的代码