데이타베이스 테이블은 다른 테이블들과 다양한 관계(RelationShip)를 형성합니다.

예로 사용자는 다수의 프로젝트를 가질 수 있고 하나의 프로젝트는 다수의 태스크를 가질 수 있으며 사용자는 하나의 프로필을 가질 수 있습니다.

Eloquent 는 이러한 테이블간의 관계를 손쉽게 정의하고 관리할 수 있는 기능을 제공하므로 복잡한 쿼리를 작성하지 않고도 손쉽게 관계형 데이타베이스의 기능을 사용할 수 있습니다.


Eloquent 는 테이블간의 관계를 모델 클래스내의 메소드로 정의하면 되며 쿼리 빌더에 의해 SQL 구문으로 생성됩니다.

관계 구문을 사용하려면 메소드 체이닝을 사용하여 관련된 테이블의 데이타를 가져올 수 있습니다.

다음은 프로젝트의 여러 task 중에 상태가 종료인 데이타를 가져오는 eloquent 문법입니다.

$project->tasks()->where('status', 'done')->get();
CODE