【Laravel 기초】 관계

3093 단어 관계라라벨

소개



Laravel에서 관계는 조금 특수한 쓰기를 합니다. 비망록으로 남겨 둡니다. 
잡다한 메모 쓰기라고 하는 느낌입니다만 용서해 주세요.

Laravel의 관계



Laravel의 관계는 모델에 작성하여 정의할 수 있습니다.
・1대1
· 일대 다
· 다 대 다
이 3 패턴으로 쓰는 방법이 달라집니다.

일대일



예를 들어 휴대폰은 기본적으로 한 사람당 하나입니다. (여러 대는 여기에서는 무시하십시오.)
우선 테이블을 만듭니다.



phone 테이블에는 외래 키인 user_id를 갖게 하고 있습니다. 그리고 모델에서 다음과 같이 정의합니다.

User.php
 public function phone(){
   return $this->hasOne('App\Models\Phone');
 }

Phone.php
 public function user(){
   return $this->belongsTo('App\Models\User');
 }

이것으로 1 대 1의 관계를 만들 수있었습니다.

일대다



1대다의 경우도 기본적인 사고방식은 변하지 않습니다.
예를 들어 SNS 게시 기능 등에서는 사용자 한 명당 게시물이 여러 개 있습니다.
먼저 테이블을 만듭니다.




다시 posts 테이블에는 외래 키인 user_id가 필요합니다.
모델은 다음과 같습니다.

User.php
 public function posts(){
   return $this->hasMany('App\Models\Post');
 }

Post.php
 public function user(){
   return $this->belongsTo('App\Models\User');
 }

이렇게 씁니다.

끝에



이제 user를 취득하고 각각에서 정의한 메소드를 사용하면 관계 관계에 있는 phone나 posts를 끌어올 수 있습니다.
다대다는 또 조금 다르기 때문에 이번은 할애합니다. ←

좋은 웹페이지 즐겨찾기