Models can override the field name manually, but the problem is that different data sources have different conventions on foreign keys, so the logic belongs there, hence i.e. `Database::relationship()`.