我目前正在使用Laravel(PHP框架)来构建电子商务网站。
该网站将有很多类别(对于产品),其中有100-150,并且可能会更多,因为将有一个后端网站添加更多。
有时,某个类别必须出现在网站上的多个父类别中。
我想要实现的类别关系:
我对如何在Laravel中正确设置这两种关系中的第二种感到困惑。
所以我的问题是:
如何设置数据库结构和模型关系,以便类别可以属于许多其他类别而不会在类别表中重复。
我想知道我需要哪些表格/列,以及需要在模型中设置哪些类型的关系。
这个模型似乎有效:
我有一个名为category_category和relation:
的表 public function parentCategories()
{
return $this->belongsToMany('TottonTimber\Category', 'category_category', 'category_id', 'parent_id');
}
public function childCategories()
{
return $this->belongsToMany('TottonTimber\Category', 'category_category', 'parent_id', 'category_id');
}
然而,这似乎不是正确的做法,因为两者都是“belongsTo”
答案 0 :(得分:0)
在很多人与关系中。两种模型都与另一种模型有关系。例如,在经典的User&角色Scenerio,用户属于许多角色&角色属于许多用户..所以当你看到'属于'关系双方。在这里,因为你的关系的两端都有相同的模型,你必须把'属于''对于你的关系定义。这似乎完全没问题。