微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从夹具文件生成的字段列表中的未知列

如何解决从夹具文件生成的字段列表中的未知列

我创建了一个固定文件来测试我使用 Dna Design's Silverstripe Elemental package 创建的元素,而 Silverstripe 似乎坚持 has_many 中的 'Elements' 关系 ElementalArea不存在。

SilverStripe\ORM\Connect\DatabaseException: Couldn't run query:

INSERT INTO "ElementalArea"
 ("Elements")
 VALUES
 (?)

UnkNown column 'Elements' in 'field list'

我有夹具文件

---
MyElement:
    my-element:
        ...

ElementalArea:
    elemental-area:
        Elements: =>MyElement.my-element

我试过运行 sake /dev/build "flush=all" 并清除 /tmp/sivlerstripe-cache... 没有运气

解决方法

在 Silverstripe 4 中,Elemental 模块是命名空间的。在我们的夹具 yml 文件中,我们必须为 ElementalArea 提供完整的命名空间路径。

另外,在有很多关系上,我们可以在有一侧(元素)上设置关系:

DNADesign\Elemental\Models\ElementalArea:
  elemental-area:
    Title: 'Area 1'

DNADesign\Elemental\Tests\Src\TestPage:
  page1:
    Title: 'Page 1'
    URLSegment: 'test-page'
    ElementalAreaID: =>DNADesign\Elemental\Models\ElementalArea.elemental-area

MyElement:
  my-element:
    Title: 'Element 1'
    ParentID: =>DNADesign\Elemental\Models\ElementalArea.elemental-area

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。