2016-07-18 4 views
0

나는 Laravel 5.2의 초보자이며 기존 시스템에서 일하고 있으며 웅변에 대해 혼란스러워하며 코드를주는 사람에게 감사 할 것입니다.Laravel Eloquent Relationships 3 개의 테이블

카드 카테고리

카드 cards2cat 테이블에 보관 일부가 여러 종류 일 수있다 cards2cat :

3 개 테이블이 있습니다.

cards2cat 테이블은 다음과 같은 구조를 가지고

ID (기본 키) 이미지 (카드) 카테고리

내가하고 싶은 것은 getCardsWithCategores 같은라는 카드 모델의 방법을 가지고있는 카드 정보와 카테고리 테이블의 카테고리 이름을 반환했습니다.

카테고리 테이블에는 id 및 필드 카테고리 키가 있습니다.

감사합니다.

+0

3 개의 테이블에 대한 마이그레이션을 제공 할 수 있습니까? – theMohammedA

+0

이전 시스템이므로 마이그레이션을 사용하지 않았습니다. 요점은 카드는 id에 대한 인덱스이고, 카테고리는 id와 카테고리를 포함하며, card2cat는 2 개의 다른 필드 (두 정수형) 이미지 (카드의 id)와 category2에 대한 인덱스입니다. 이것은 제가하지 않은 레거시 시스템입니다. – Jim

답변

1

당신의 Card2Cats 모델로 이동이 추가 :이 수행 쿼리의

public function categories() 
{ 
    return $this->hasOne('App\Categories','id','category'); 

} 

public function cards() 
{ 
    return $this->hasOne('App\Cards','id','image'); 
} 

을 :

$cards = Card2Cat::with('categories','cards')->get(); 
foreach ($cards as $key => $value) { 
    echo $value->id.', Card:'.$value->cards->name.', Category:'.$value->categories->category.'<br>'; 

//$value->cards gives you all column of cards and you can do 
//$value->cards->colName 
// same goes for $value->categories 
} 

수업 및 테이블 열 이름의 철자 확인하면 프로그램을 실행하기 전에 올바른 코드 : D