- The current model Country has a relation to Post via User
- The intermediate model is linked to the current model via users.country_id
- The target model is linked to the intermediate model via posts.user_id
- users.country_id maps to countries.id
- posts.user_id maps to users.id
countries
id - integer
name - string
users
id - integer
country_id - integer
name - string
posts
id - integer
user_id - integer
title - string
classCountryextendsModel
{
publicfunctionposts()
{
return$this->hasManyThrough(
'App\Post',
'App\User',
'country_id', // Foreign key on users table...'user_id', // Foreign key on posts table...'id', // Local key on countries table...'id'// Local key on users table...
);
}
}