Php Silverstripe 3.1-罐头和x27;不要建立新的多人关系

Php Silverstripe 3.1-罐头和x27;不要建立新的多人关系,php,silverstripe,Php,Silverstripe,在扩展CsvBulkUploader以满足我的需要的同时,我发现了这个问题,Silverstripe不允许我为多个关系创建新条目 我的数据对象是ShopItems,它有一个称为Visuals的多个关系。因此,在我的MySQL数据库中,我得到了ShopItems\u视觉效果 现在我想用下面的代码为它创建一个新条目,我想这里是我犯了一些错误的地方 ... $visual = ShopItem_Visuals::create(); $visual->ImageID = $

在扩展CsvBulkUploader以满足我的需要的同时,我发现了这个问题,Silverstripe不允许我为多个关系创建新条目

我的数据对象是
ShopItems
,它有一个称为
Visuals
的多个关系。因此,在我的MySQL数据库中,我得到了
ShopItems\u视觉效果

现在我想用下面的代码为它创建一个新条目,我想这里是我犯了一些错误的地方

...    
    $visual = ShopItem_Visuals::create();
    $visual->ImageID = $file->ID;
    $visual->ShopItemID = $obj->ID;
    $visual->write();
...
将其添加到我的函数后,我在点击导入按钮后收到未找到的
类“ShopItem\u Visuals”

这是因为数据库表是通过ShopItem中的many_many关系创建的,并且本身没有类名吗

有人能告诉我如何为这个关系创建一个新条目吗


提前谢谢。

我认为映射表本身没有类。
通过add添加相关对象时,应自动创建其中的条目

$visual = new Visual();
...
$visual->write();

$ShoptItem->Visuals()->add($visual);
$ShoptItem->write();
如果多个关系名称为
Visuals
,则调用
->Visuals()
应返回一个
ManyManyList
实例,您可以在该实例上调用add、remove等


请参见

我认为映射表本身没有类。
通过add添加相关对象时,应自动创建其中的条目

$visual = new Visual();
...
$visual->write();

$ShoptItem->Visuals()->add($visual);
$ShoptItem->write();
如果多个关系名称为
Visuals
,则调用
->Visuals()
应返回一个
ManyManyList
实例,您可以在该实例上调用add、remove等


请参见

我认为映射表本身没有类。
通过add添加相关对象时,应自动创建其中的条目

$visual = new Visual();
...
$visual->write();

$ShoptItem->Visuals()->add($visual);
$ShoptItem->write();
如果多个关系名称为
Visuals
,则调用
->Visuals()
应返回一个
ManyManyList
实例,您可以在该实例上调用add、remove等


请参见

我认为映射表本身没有类。
通过add添加相关对象时,应自动创建其中的条目

$visual = new Visual();
...
$visual->write();

$ShoptItem->Visuals()->add($visual);
$ShoptItem->write();
如果多个关系名称为
Visuals
,则调用
->Visuals()
应返回一个
ManyManyList
实例,您可以在该实例上调用add、remove等


请参见

解决它!非常感谢。我对这件事大发雷霆:我解决了!非常感谢。我对这件事大发雷霆:我解决了!非常感谢。我对这件事大发雷霆:我解决了!非常感谢。我对此感到愤怒:D