gpt4 book ai didi

ModelAdmin 中的 Silverstripe 文件关系未发布

转载 作者:行者123 更新时间:2023-12-01 23:38:59 29 4
gpt4 key购买 nike

我正在使用 SilverStripe4 和 ModelAdmin 来管理数据对象。

DataObject 在 File 上有一个 has_one。到目前为止一切正常,但在前端 Controller 上,文件关系有一个空对象。

我看到该文件不在 File_Live 表中,所以我猜它没有发布,因此在前端 Controller 上找不到它。

如何从 ModelAdmin 发布文件关系?基本上,当上传文件时,它应该会自动发布。

我想如果我使用版本化的数据对象,我仍然需要这样的东西:https://github.com/drzax/silverstripe-bits/tree/master/VersionedModelAdmin
在 ModelAdmin 上有发布机制。

或者 SS4 中有内置的东西吗?这也会级联到文件关系吗?

编辑:关于版本化的数据对象,SS4 中有一个内置的发布按钮只需使用:

private static $extensions = [
Versioned::class,
];

private static $versioned_gridfield_extensions = true;

最佳答案

您可以将以下内容添加到您的数据对象中:

private static $owns = ['FileRelationName'];

关系示例:

private static $has_one = ['File' => File::class];
private static $owns = ['File'];

以这种方式声明为“拥有”的任何相关对象都将与 DataObject 本身一起发布。

关于ModelAdmin 中的 Silverstripe 文件关系未发布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47392211/

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