[英]Silverstripe create unordered list from CheckboxSetField values (many_many)
[英]Silverstripe 3.1 - Can't create a new many_many relation
在擴展CsvBulkUploader以滿足我的需求的同時,我解決了這個問題,即Silverstripe不允許我為many_many關系創建新條目。
我的數據對象是ShopItems
並且有一個名為Visuals
的many_many關系。 所以在我的MySQL數據庫中,我得到ShopItems_Visuals
。
現在,我想使用以下代碼為此創建一個新條目,並且我認為這是我犯錯的地方。
...
$visual = ShopItem_Visuals::create();
$visual->ImageID = $file->ID;
$visual->ShopItemID = $obj->ID;
$visual->write();
...
將其添加到我的函數后,點擊導入按鈕后,我收到Class 'ShopItem_Visuals' not found
。
那是因為數據庫Table是通過ShopItem中的many_many關系創建的,本身沒有ClassName?
有人可以告訴我如何為此關系創建一個新條目嗎?
先感謝您。
我認為映射表本身沒有一個類。
通過add添加相關對象時,應自動創建其中的條目。
$visual = new Visual();
...
$visual->write();
$ShoptItem->Visuals()->add($visual);
$ShoptItem->write();
如果多對多關系名稱是Visuals
,則調用->Visuals()
應該返回ManyManyList
的實例,您可以在該實例上調用添加,刪除等。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.