public function hasManyThrough(string $alias, string $entity_join, string $entity_foreign): HasManyThrough {
    return $this->has_many_through[] = new HasManyThrough($alias, $entity_join, $entity_foreign);
  }