Я пытаюсь использовать hasManyThrough отношения для первого раза. Но когда я пытаюсь вызвать метод, он ничего не возвращает.Laravel hasManyThrough ничего не возвращает
Вот моя база данных:
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');
}
Пересылка:
public function User()
{
return $this->belongsTo('User','users_id');
}
public function Shipment_question()
{
return $this->hasMany('Shipment_question','shipment_id');
}
Shipment_question:
public function Shipment()
{
return $this->belongsTo('Shipment','shipment_id');
}
И вот звонок:
Auth::User()->Shipment_question;
Я использую debugbar barryvdh для просмотра запросов, вызов shipment_question должен генерировать запрос, но в журнале запросов появляется запрос auth :: user.
Невероятно, что решает проблему. Я полагаю, что конвенция camelCased была только той, конвенцией, а не функциональным аспектом laravel. Спасибо. – JRivera294
В общем, это просто конвенция. Однако в этом случае, когда вы используете функцию Eloquent, вам просто нужно знать, как это работает. –