public function hasManyThrough(string $alias, string $entity_join, string $entity_foreign): HasManyThrough {
    return $this->has_many_through[] = new HasManyThrough($alias, $entity_join, $entity_foreign);
  }
public function hasManyThrough(string $alias, string $entity_join, string $entity_foreign): HasManyThrough {
    return $this->has_many_through[] = new HasManyThrough($alias, $entity_join, $entity_foreign);
  }
public function hasManyThrough ( string $ alias , string $ entity_join , string $ entity_foreign ) : HasManyThrough { return $ this -> has_many_through [ ] = new HasManyThrough ( $ alias , $ entity_join , $ entity_foreign ) ; }
Add a `has many through` relationship

@param  string  $alias           The name of the local column
@param  string  $entity_join     The fully-qualified class name of the intermediate `Entity`
@param  string  $entity_foreign  The fully-qualified class name of the foreign `Entity`

@return  HasManyThrough  Options for the relation
Add a has many through relationship