처음부터 차근차근

Laravel Model 관계(Eloquent Relationship) 본문

Framework/Laravel

Laravel Model 관계(Eloquent Relationship)

_soyoung 2022. 1. 19. 17:27
반응형

데이터베이스의 테이블은 테이블끼리 서로 관련되어 있다.

예를 들어 일대일, 일대다, 다대다 관계등이 있다.

모델관의 관계를 사용한다면 코드를 좀 더 간결하고 알아보기 쉽게 짤 수 있다.

 

 

일대일

User 모델

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

 

controller

$books = App\Models\User::find(1)->phone;

id가 1인 user의 phone을 구하기

 

 

 

일대다

User 모델

public function books() {
    return $this->hasMany('App\Model\Book'); // Book모델(books 테이블)과 일대다 관계
}

 

controller

//$books = Book::latest()->where('user_id', auth()->id())->get();
// 위의 코드를 아래로 바꿈
$books = auth()->user()->books()->latest()->get();

 

 

 

 

 

출처 : https://www.youtube.com/watch?v=aS9SnRduuVY&list=PLB7CpjPWqHOs4RDbVEbHWCk0SaCdRpM74&index=23 변형 및 요약

반응형
Comments