munak

엘로퀀트 ORM 사용시 BadMethodCallException 처리 본문

SW 개발 언어/7. Laravel 5

엘로퀀트 ORM 사용시 BadMethodCallException 처리

moonhak 2016. 2. 22. 16:13

User 모델과 Post 모델을 연결(1:n) 한 상황에서 user 모델과 post 모델은 보통 아래처럼 관계를 맺는다.

Join Query를 하기 위해서는 조인 방향에 따라 아래와 같이 사용 할 수 있다. 

** 허나 주의 할 점은 테이블의 컬럼명을 변경 했을 경우

User테이블의 id를 Post 테이블에서는 author_id로 참조 했을 경우에는 그 join 방법이 달라질 수 있다.


위의 모델에서 1번을 보면 매소드 명이 user()로 정의된 것을 알 수 있다. 이것은 조인하기 위해 사용할 매소드를 정의하는 것이다.

따라서 필요에 따라 모델에서 정의하는 매소드명을 변경 하였다면, 조인 시에 정의한 대로 매소드 명을 변경해서 사용 해야 한다.(아래의 3번 참조)

author()로 정의하고 user()로 사용한다면 바로 BadMethodCallException 이 발생할 것이다.


Comments