我正在尝试创建与对象关联的图像列表。使用DataExtension添加has_many关系。图像存储在Assets的子目录中,我使用cms中的sync folders按钮添加它们。但是,当我添加关系时,Image将被移动到assets目录。如何在不移动文件的情况下创建关系?为什么会这样?
class GroupExtension extends DataExtension
{
private static $has_many = array('ImageGroup' => 'Image');
function addImage($img)
{
$this->owner->ImageGroup()->add($img);
$this->owner->write();
$img->write();
}
}
答案 0 :(得分:0)
您应该使用$many_many
关系。
$has_many
仅在$has_one
上有关联的Image
时有效,虽然原则上您可以使用Image
的子类执行此操作,但在实践中使用$many_many
会更好。
如果您使用$many_many
,则无法进行$img->write()
来电。