Laravel对自我关系的批量分配(我需要创建模型吗?)

时间:2017-02-01 09:30:38

标签: php laravel laravel-5.2

我正在Laravel 5.2中设计商店解决方案。

现在,我遇到了问题。我正在创建自我关系(一个产品可以有许多相关产品),像这样

public function related()
{
    return $this->belongsToMany(self::class, 'related', 'product_id', 'related_id');
}

现在,让我们假设我从表单中获得了一系列相关的产品ID。我怎样才能批量分配它们?似乎如果不为Related创建模型,我就无法做到这一点。或者我可以吗?

1 个答案:

答案 0 :(得分:0)

多对多关系的数据透视表不需要模型。

所以你必须创建数据透视表“相关”并使其“产品”功能来设置关系。

此链接讨论了这一点:https://laravel.com/docs/5.2/eloquent-relationships#many-to-many

您可以使用同步功能,例如$ product-> related() - > sync(/ * product ids array * /);管理这种关系。