2013-05-27 52 views
3

我創建了一個類別系統,其中類別可以是其他類別的後代。我計劃有一個類別表和第二個表來管理一對多的關係。我不知道如何回到Laravel的桌子上。是否像聲明一個具有相同名稱的函數一樣簡單,就像我會如果它是一個不同的表一樣?這是我目前的想法。如果有人知道更好,請讓我知道。Laravel 4:遞歸表一對多

我習慣於在這種情況下手工編碼。我試圖使用現有的代碼一次。

回答

3

基本上,您需要在您正在使用的「類別」模型上設置關係方法。例如,如果您有一個名爲'categories'並帶有'parent_id'字段的表來跟蹤父類別的主鍵(可能是'id'或'category_id')。

因此,您不需要第二個表來處理任何關係信息,只需要一張父母表。

可以找到一個例子here - 我已經粘貼了下面的相關代碼片段。

public function children() { 
    return $this->has_many('Category', 'parent_id'); 
} 
public function parent(){ 
    if($this->parent_id !== null && $this->parent_id > 0){ 
     return $this->belongs_to('Category','parent_id'); 
    } else { 
     return null; 
    } 
} 

該片段最初可以引用here