#silverstripe #silverstripe-4
#silverstripe #silverstripe-4
Вопрос:
Я создал файл fixture для тестирования элемента, который я создал с использованием пакета Silverstripe Elemental от Dna Design, и Silverstripe, похоже, настаивает на том, что has_many
отношения 'Elements'
в ElementalArea
не существует.
SilverStripeORMConnectDatabaseException: Couldn't run query:
INSERT INTO "ElementalArea"
("Elements")
VALUES
(?)
Unknown column 'Elements' in 'field list'
У меня есть файл fixture:
---
MyElement:
my-element:
...
ElementalArea:
elemental-area:
Elements: =>MyElement.my-element
Я пробовал запускать sake /dev/build "flush=all"
и очищать /tmp/sivlerstripe-cache...
, но безуспешно
Ответ №1:
В Silverstripe 4 элементарный модуль имеет пространство имен. В нашем файле fixture yml мы должны указать полный путь к пространству ElementalArea
имен.
Кроме того, для a имеет много отношений, мы можем установить связь с одной стороны (элемент):
DNADesignElementalModelsElementalArea:
elemental-area:
Title: 'Area 1'
DNADesignElementalTestsSrcTestPage:
page1:
Title: 'Page 1'
URLSegment: 'test-page'
ElementalAreaID: =>DNADesignElementalModelsElementalArea.elemental-area
MyElement:
my-element:
Title: 'Element 1'
ParentID: =>DNADesignElementalModelsElementalArea.elemental-area