gpt4 book ai didi

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

转载 作者:搜寻专家 更新时间:2023-10-31 21:03:21 24 4
gpt4 key购买 nike

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

ID - 主键

但是如何定义组合键(由2个或更多列组成的主键)呢?我已经搜索了文档,但在任何地方都找不到此信息。

最佳答案

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

class YourDataObject extends DataObject
{
private static $db = [
'MyField' => 'Varchar',
'MyOtherField' => 'Varchar'
];

private static $indexes = array(
'MyIndexName' => array(
'type' => 'unique', // changed this to unique
'value' => '"MyField","MyOtherField"'
)
);
}

使用此代码,如果一个数据库中已经有包含这两个值的记录。可以创建一个 YourDataObject,仅将 MyField 作为测试,将 MyOtherField 作为其他内容。

但是,建议您在将其写入数据库之前进行检查,因为您会在 ModelAdmin 中遇到用户不友好的错误。

documentation 复制的代码

关于php - 如何在 SilverStripe ORM/Dataobject 中定义复合主键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37325001/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com