2017-04-26 2 views
-1

laravel 5.4에서 작업하고 관계 테이블의 정보를 받고 싶습니다.Laravel 5.4 관계 2 테이블 3 id

나는 phpMyAdmin에 3 개 테이블

ATHLETES

  • ID
  • FIRST_NAME
  • LAST_NAME

TYPES

이 6,
  • ID
  • NAME
  • 슬러그

ATHLETES_TYPES

  • ID
  • TYPE_ID
  • ATHLETE_ID

나는 3 개 모델

선수가

TYPE

ATHLETEBYTYPE 내가에서 이름과 슬러그을 가지고 관계 모델을 만들 필요가 어떻게

내 내 탁구 선수들과 내 표식이 일치합니까?

감사합니다.

답변

0

는 관계입니다, 친구

앱에서/Athlete.php에게

class Athlete extends Model 
{ 
    public function types(){ 
     return $this->belongsToMany('App\Type'); 
    } 
} 

class Type extends Model 
{ 
    public function Athletes(){ 
     return $this->belongsToMany('App\Athlete'); 
    } 
} 
0

이 경우 두 모델 파일 ATHLETETYPE이 필요하며 많은 관계를 사용하면 피벗 테이블로 ATHLETES_TYPES 테이블을 사용할 수 있습니다.

이를 구현을 위해 :

ATHLETE 모델 파일에이 방법을 추가

public function athletes() 
    { 
     return $this->belongsToMany(ATHLETE::class,'ATHLETES_TYPES','TYPE_ID','ATHLETE_ID'); 
    } 

지난 제거 ID에 :

public function types() 
    { 
     return $this->belongsToMany(TYPE::class,'ATHLETES_TYPES','ATHLETE_ID','TYPE_ID'); 
    } 

secode이 TYPE 모델에이 방법을 추가 표를 제출하십시오.

완료.

이제 변수가 ATHLETE 인 경우 $ATHLETE->types의 유형을 얻을 수 있습니다.

여기에서 자세한 내용을보실 : 여기 https://laravel.com/docs/5.4/eloquent-relationships#many-to-many

+0

를 앱/Type.php에서는 blog_category 넣기 ??? 이게 뭐야? – MSBIZ

+0

@MSBIZ는 없습니다. 내 프로젝트에서 복사 코드를 변경하고 일부 parameter.second 매개 변수를 잊지 피벗 테이블 이름입니다. – Saman