2016-05-28 21 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を利用して、テーブルのすべての子レコードを取得することができますがないです。 それは常に私にnullを与える。Laravel雄弁セルフ親子

答えて

3

それはhasMany関係の逆belongsTo方法であり、1対多の関係と呼ばれています、あなたのgetParentCategory()は次のようになります。あなたの貴重な応答のための

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

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

おかげで、それはその私を与えてくれ、適切な応答が表示されません私が与えたのと同じレコード、親idレコードを表示しない – Terrasom

+0

子カテゴリをチェックし、データベースレコードが 'parent_id'が正しく埋められていることを確認してください。 – Rifki

+0

子カテゴリは正常に動作していますが、親カテゴリは正しい応答を取得しません – Terrasom