Laravel의 Eloquent ORM 중 어느 것이has이고 어느 것이belongs입니까?
입문
Laravel의 Eloquent ORM에서 모델을 위해hasOne,hasMany,belongsTo와belongsToMany를 정의하여 모델 간의 관계를 나타낼 수 있다.
주종(부자)관계보다 성주(부모)의 한 쪽에서hasOne,hasMany를 정의하고 종(자)의 한 쪽에서belongsTo를 정의하면 되지만 초보자에게는 주종관계를 똑똑히 보기 어려워서 어느 쪽에서has를 정의하고 어느 쪽에서belongsTo를 정의하는 결정 방법을 정리했다.
어느 것이has인지 Belong인지 결정하는 방법
수준 관계 정의
LaravelModel의 정의에 대한 자세한 내용은 다음을 참조하십시오.
예제
일대다
이런 연관성
모델 정의
products 테이블에maker_ 포함id가 존재하기 때문에 제품 모델에belongsTo를 정의합니다.class Product extends Model
{
public function maker()
{
return $this->belongsTo('App\Maker');
}
}
다른 Maker 모델에서hasMany를 정의합니다.class Maker extends Model
{
public function products()
{
return $this->hasMany('App\Product');
}
}
다대다
이런 연관성
모델 정의
두 모델에서 belongsToMany를 정의합니다.class Product extends Model
{
public function categories()
{
return $this->belongsToMany('App\Category');
}
}
class Category extends Model
{
public function products()
{
return $this->belongsToMany('App\Product');
}
Reference
이 문제에 관하여(Laravel의 Eloquent ORM 중 어느 것이has이고 어느 것이belongs입니까?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kutarou197/items/bad6c9b5ee22cdd7e2d6
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
일대다
이런 연관성
모델 정의
products 테이블에maker_ 포함id가 존재하기 때문에 제품 모델에belongsTo를 정의합니다.
class Product extends Model
{
public function maker()
{
return $this->belongsTo('App\Maker');
}
}
다른 Maker 모델에서hasMany를 정의합니다.class Maker extends Model
{
public function products()
{
return $this->hasMany('App\Product');
}
}
다대다
이런 연관성
모델 정의
두 모델에서 belongsToMany를 정의합니다.
class Product extends Model
{
public function categories()
{
return $this->belongsToMany('App\Category');
}
}
class Category extends Model
{
public function products()
{
return $this->belongsToMany('App\Product');
}
Reference
이 문제에 관하여(Laravel의 Eloquent ORM 중 어느 것이has이고 어느 것이belongs입니까?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kutarou197/items/bad6c9b5ee22cdd7e2d6텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)