Я предпочитаю думать о hasOne, hasMany и hasAndBelongsToMany как о трех реальных типах отношений.
Отношение ownTo заключается просто в том, чтобы сделать обратное тому, что делают первые два (hasOne / Many).
Если вы посмотрите на эту диаграмму , вы заметите спаривание hasOne / ownTo и hasMany / ownTo.
Кроме того, обратите внимание, что модель, которая "принадлежит", является моделью, хранящей внешний ключ (например, address_type_id
).
Таким образом, в вашем случае, поскольку AddressType имеет много адресов (т. Е. У вас может быть много домашних адресов), тогда Address принадлежит AddressType (т. Е. Каждому адресу требуется address_type_id
).