0
好吧,這些是兩個簡單的實體,但有很多的交互,這讓我有點困惑如何做關係設置..如何對這些關係進行建模?
所以,我有兩個實體..類別和文章..它似乎簡單.. ..但這裏有什麼,我需要做的:
分類可以是沒有關係的獨立的模型
類別可以包含其他類別
個類別可以包含文章
文章可以獨立的(不內部類)
你怎麼想,我可以將它們之間的這些實體和關係模型?
好吧,這些是兩個簡單的實體,但有很多的交互,這讓我有點困惑如何做關係設置..如何對這些關係進行建模?
所以,我有兩個實體..類別和文章..它似乎簡單.. ..但這裏有什麼,我需要做的:
分類可以是沒有關係的獨立的模型
類別可以包含其他類別
個類別可以包含文章
文章可以獨立的(不內部類)
你怎麼想,我可以將它們之間的這些實體和關係模型?
最直白:
// 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
或其他自引用表的模型。
我最好的猜測是類別在類別和文章上都有很多關係(並且以同樣的方式可以爲空的belongsTo關係)。外鍵仍然可以爲空,因此是「獨立」類別或文章。 – Adimeus 2014-09-11 13:17:42