【问题标题】:Silverstripe 4 get draft files in querySilverstripe 4 在查询中获取草稿文件
【发布时间】:2019-10-11 06:16:58
【问题描述】:

我对 Silverstripe 很陌生。我想让已登录的用户可以看到草稿文件。

当我执行类似

的查询时
File::get()->Where($query) 

我只获取已发布的文件。

如何获取已登录用户的所有文件,并具有查看文件的权限?

感谢您的回答

【问题讨论】:

    标签: silverstripe


    【解决方案1】:

    从未对文件尝试过此操作,但您可以尝试通过 Versioned::get_by_stage() 查询它们

    $draftFiles = Versioned::get_by_stage('File', Versioned::DRAFT)->where($query);
    $liveFiles = Versioned::get_by_stage('File', Versioned::LIVE)->where($query);
    

    更多详情请参阅here

    【讨论】:

      【解决方案2】:

      谢谢阿林,

      这适用于文件, 但我无法使用保存在 a 中的 many_many 关系 数据对象。 遍历数据对象时,many_many 字段始终为 NULL。 在这个字段中,我保存了上传的、未发布的文件。

      foreach ($sitzungen as $item) { if ($item->MDateien() != NULL) { ... } ... }

      $sitzungen 是数据对象。 MDateien 是 many_many 字段。

      感谢您的回答

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-01-01
        • 1970-01-01
        • 2017-12-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多