joinTable() {
      if (this.isThrough()) return this.throughTableName;
      return this.joinTableName || [this.parentTableName, this.targetTableName].sort().join('_');
    }
Generates the appropriate default join table name for a
{@link Model#belongsToMany belongsToMany} or {@link Model#through through} relation.
The default name is composed of the two table names ordered alphabetically and joined by an
underscore.

@return {string} The table name.