laravel model 두 표 연결 검사 예제

1 대 1
일대일 연결 정의
일대일 관 계 는 매우 기본 적 인 관계 이다.예 를 들 어 하나의 User 모델 이 Phone 에 대응 합 니 다.Eloquent 에서 다음 과 같이 연결 을 정의 할 수 있 습 니 다.

class User extends Model {
 
 public function phone()
 {
  return $this->hasOne('App\Phone');
 }
 
}
hasOne 방법 에 전 달 된 첫 번 째 매개 변 수 는 관련 모델 의 클래스 이름 입 니 다.연결 을 정의 하면 Eloquent 의 동적 속성 을 사용 하여 관련 대상 을 가 져 올 수 있 습 니 다.

$phone = User::find(1)->phone;
SQL 은 다음 문장 을 실행 합 니 다:

select * from users where id = 1
 
select * from phones where user_id = 1
Eloquent 는 대응 하 는 관련 모델 데이터베이스 테이블 에 외부 키 이름 은 모델 이름 을 기반 으로 한다 고 가정 합 니 다.이 예 에서 기본 Phone 모델 데이터베이스 테이블 은 userid 를 외부 키 로 합 니 다.이 기본 값 을 변경 하려 면 두 번 째 인 자 를 hasOne 방법 으로 전송 할 수 있 습 니 다.더 나 아가 세 번 째 인 자 를 입력 할 수 있 습 니 다.연 결 된 외부 키 를 자신의 필드 에 대응 할 지 지정 할 수 있 습 니 다.

return $this->hasOne('App\Phone', 'foreign_key');
 
return $this->hasOne('App\Phone', 'foreign_key', 'local_key');
여러 항목 조회

 $rolePermissions = Permission::join('permission_role', 'permission_role.permission_id', '=', 'permissions.id')
   ->where('permission_role.role_id', $id)
   ->get();
이상 의 이 laravel model 두 표 의 결합 조사 예 는 바로 편집장 이 여러분 에 게 공유 한 모든 내용 입 니 다.여러분 께 참고 가 되 고 여러분 들 이 저 희 를 많이 사랑 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기