2017-10-31 21 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을 의미하고, ProductCategory에 속합니다.

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

당신은 Laravel Docs


에서 이러한 관계를 읽을 수 있습니다 : 당신이 당신의 열 이름을 변경하지 않으려면

, 당신은 두 번째 인수로 외부 키를 정의 할 수 있습니다

업데이트 # 1

귀하의 의견에 약간의 오해가있는 것 같습니다. 귀하의 의견에 따라, 나는 nk이 작동해야합니다 :

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

Product :: with ('category') -> get(); 이것은 제품 및 카테고리 값만 반환하지만 카테고리 및 상위 카테고리 데이터가있는 제품을 원합니다. –

+0

내 대답을 가능한 해결책으로 업데이트했습니다. –