【Laravel 기초】 관계
소개
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를 끌어올 수 있습니다.
다대다는 또 조금 다르기 때문에 이번은 할애합니다. ←
Reference
이 문제에 관하여(【Laravel 기초】 관계), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kt103/items/c80001bfaaf44539c9f3
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
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를 끌어올 수 있습니다.
다대다는 또 조금 다르기 때문에 이번은 할애합니다. ←
Reference
이 문제에 관하여(【Laravel 기초】 관계), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kt103/items/c80001bfaaf44539c9f3
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
public function phone(){
return $this->hasOne('App\Models\Phone');
}
public function user(){
return $this->belongsTo('App\Models\User');
}
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를 끌어올 수 있습니다.
다대다는 또 조금 다르기 때문에 이번은 할애합니다. ←
Reference
이 문제에 관하여(【Laravel 기초】 관계), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kt103/items/c80001bfaaf44539c9f3
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(【Laravel 기초】 관계), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kt103/items/c80001bfaaf44539c9f3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)