如何解决从夹具文件生成的字段列表中的未知列
我创建了一个固定文件来测试我使用 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 举报,一经查实,本站将立刻删除。