4 가지 모델이 있습니다. 하지만 조용히하지 말고 내가 사용하기로되어있는 관계에 매달려있어. 모델 : County
, Municipality
, Postal
및 Zip
. 테이블 및 기본 키가 각 모델에서 올바르게 설정되어 있습니다.Laravel eloquent relation 다중 모델
public function municipality() {
return $this -> hasMany('App\Municipality');
}
내가 추가 한 모델 Municipality
에서 :
public function postal() {
return $this -> hasMany('App\Postal');
}
을 그리고 Postal
모델에서 내가 추가 한 :
은 County
모델에서 내가 추가 한
public function zip() {
return $this -> hasMany('App\Zip');
}
나는 이것을 시험했다 : County::findOrFail(1)->municipality;
그리고 나는 작동합니다. 그러나 특정 지자체에 속하는 우편물을 어떻게 얻을 수 있습니까?
내가 할 수 없다고 생각한 County::findOrFail(1)->municipality->postal;
나는 할 수 없다. 그러나 나는 아직 그 교수형이 없다는 것을 알 수있다.
어떻게하면됩니까? 미리 감사드립니다.
데이터베이스 구조 : 여기
County::findOrFail(1)->municipality;
당신이 군의 municipality
필드가 아닌 실제 개체가 :
를 : 정의되지 않은 메서드를 분명히 \ 데이터베이스에 '전화 \ 쿼리 \ 빌더 :: 우편() ' – Kaizokupuffball
다음을 시도하십시오 :'count :: findOrFail (1) -> 시정촌() -> first() -> postal() -> first();' – Vuldo
고마워요! 속임수를 쓰는 것처럼 보입니다. 그래서 각 관계 메소드 다음에'first()'를 써야합니까? – Kaizokupuffball