嗯,这些是两个简单的实体,但有许多交互让我对如何进行关系设置感到有点困惑..
所以,我有两个实体..类别和文章......看起来很简单..但这是我需要做的:
类别可以是没有关系的独立模型
类别可以包含其他类别
类别可以包含文章
文章可以是独立的(不在类别内)
您认为我如何对这些实体及其之间的关系进行建模?
答案 0 :(得分:1)
最直截了当:
// categories table: category_id fk categories.id nullable
// Category model
public function parent()
{
return $this->belongsTo('Category', 'category_id');
}
public function children()
{
return $this->hasMany('Category', 'category_id');
}
public function articles()
{
return $this->hasMany('Article');
}
// articles table: category_id fk categories.id nullable
// Article model
public function category()
{
return $this->belongsTo('Category');
}
请注意,如果您希望构建这些类别的树,然后加载整个树,这将不容易。如果是这种情况,你应该使用例如。 adjacency list
或其他自引用表模型。