2016-05-28 27 views
0

Laravel雄辯自加入父子關係

class Product_category extends Model 
{ 
    // 
    protected $table='PRODUCT_CATEGORIES'; 
    public $timestamps = false; 


    public function getParentCategory() { 
     return $this->hasOne(self::class, 'id', 'parent_id'); 
    }. 


    public function getChildCategories(){ 
     return $this->hasMany(self::class, 'parent_id','id'); 
    } 

我能夠通過利用getChildeCategories的檢索表中的所有子記錄,但無法檢索特定類別的家長。 它總是讓我空。Laravel雄辯自加入親子

回答

3

這就是所謂的一個一對多的關係,一個hasMany關係的逆是belongsTo方法,你getParentCategory()應該是:

public function getParentCategory() { 
    return $this->belongsTo(self::class, 'parent_id'); 
} 

public function getChildCategories(){ 
    return $this->hasMany(self::class, 'parent_id'); 
} 
+0

感謝您的寶貴迴應,但它沒有顯示我的給我適當的響應同樣的記錄,因爲我已經給出,沒有顯示父母身份證記錄 – Terrasom

+0

請確保你檢查一個孩子類別,還檢查你的數據庫記錄是否正確填寫了「parent_id」? – Rifki

+0

子類別工作正常,但父類別不檢索正確的響應 – Terrasom