hasManyThrough 관계를 처음 사용하려고합니다. 그러나 메서드를 호출하려고하면 아무 것도 반환하지 않습니다. 여기Laravel hasManyThrough returns nothing
User:
- id
- (...)
Shipment:
- id
- users_id
- (...)
Shipment_question:
- id
- shipment_id
- (...)
그리고 내 모델의 코드는 다음과 같습니다
여기 내 데이터베이스입니다.
사용자 :
public function Shipment()
{
return $this->hasMany('Shipment','users_id');
}
public function Shipment_question(){
return $this->hasManyThrough('Shipment_question','Shipment','users_id','shipment_id');
}
선적 :
Shipment_questionpublic function User()
{
return $this->belongsTo('User','users_id');
}
public function Shipment_question()
{
return $this->hasMany('Shipment_question','shipment_id');
}
:
Auth::User()->Shipment_question;
,691 : 여기
public function Shipment()
{
return $this->belongsTo('Shipment','shipment_id');
}
그리고는 호출입니다
barryvdh 디버그 막대를 사용하여 쿼리를 보았습니다. shipment_question 호출은 쿼리를 생성해야하지만 쿼리 로그에는 auth :: user 쿼리 만 나타납니다.
엄청난 것이 문제를 해결합니다. 나는 낙타의 관례가 단지 그것, 관례, laravel의 기능적 측면이 아니라고 생각합니다. 고맙습니다. – JRivera294
일반적으로 그것은 단지 대회 일뿐입니다. 그러나 이런 경우에, Eloquent 기능을 활용하면 작동 방식을 알아야합니다. –