laravel hasManyThrough on a принадлежит к отношениям

У меня есть следующие отношения:

Ферма -> hasOne -> Адрес следующим образом:

/** * \App\Address associated to the current farm. * * @return \App\Address */ public function address() { return $this->hasOne('\App\Address'); } 

… затем Address -> attribTo -> Country:

 public function country() { return $this->belongsTo('\App\Country','country_id','id'); } 

… и я хотел бы получить модель страны и получить все связанные фермы, используя country_id в адресной таблице. Я определил hasManyThrough следующим образом:

 /** * Get all of the farms for the country. */ public function farms() { return $this->hasManyThrough('App\Farm', 'App\Address'); } 

но он генерирует следующий SQL:

 select `farms`.*, `addresses`.`country_id` from `farms` inner join `addresses` on `addresses`.`id` = `farms`.`address_id` where `addresses`.`country_id` = 1 

SQL ищет адрес_ид в таблице ферм. Но ферма не относится к «адресу». Есть ли все равно, чтобы исправить это, или я застрял, нуждаясь в изменении моей схемы?

Большое спасибо.