2017-10-31 30 views

答えて

0

Eloquentモデルクラス内のモデル/テーブル間の関係を定義しましょう。モデルに外部キーがあることを定義するには、belongsToを使用して、モデルが別のモデルに属することを定義します。

// Product.php 
public function category() 
{ 
    return $this->belongsTo('App\Category'); 
} 

// Category.php 
public function category() 
{ 
    return $this->belongsTo('App\ParentCategory'); 
} 

雄弁は、データベーステーブルの<lowercase modelname>_idという名前の列を探します。 Productについては、category_idを意味し、Productは、Categoryに属します。

あなたの列名を変更したくない場合は、2番目の引数として外部キーを定義することができます。

return $this->belongsTo('App\Category', 'c_id'); 

あなたはLaravel Docs


にこれらの関係上に読むことができます

更新#1

あなたのご質問に少し間違いがあったようですので、私はあなたの意見に基づいてこれはうまくいくはずです:

Product::with('category') 
    ->with('category.parent_category') 
    ->get(); 
+0

Product :: with( 'category') - > get(); これは商品とカテゴリの値のみを返しますが、カテゴリと親カテゴリのデータを持つ商品が必要です。 –

+0

回答を可能な解決策で更新しました –