iso_1 - string
phone_code - string
language
id - integer
name - string
country_translate
country_id - integer
language_id - integer
name - string
Как правильно настроить связь между country и country_translate?
Сделать ли отдельную модель CountryTranslate?
сущностей много, пример с country самый простой, языков много (> 100), и они должны динамически добавляться, вот почему не подошел вариант держать их в таблице country в колонках name_en, name_ru
готовые пакеты не смотрели? вроде по моделям тоже делали
для такой локализаций еще не видел готовых пакетов
https://github.com/Astrotomic/laravel-translatable
готовое решение
спасибо за готовое решение, буду его использовать, но все-же вопрос открыт как правильно связь сделать? новую модель CountryTranslate сделать? и добавить связь BelongToMany ? сейчас должен в Laravel Nova эту связь добавить
country_translate => country_translations
зачем нужна модель новая? обычная промежуточная таблица
А чем обычный hasMany и BelongsTo не подходит?
можете раскрыть мысль подробнее?
подходит, но вопрос в том на сколько правильно так делать
Всё ок
в доках написано все https://laravel.com/docs/8.x/eloquent-relationships#defining-custom-intermediate-table-models в целом на этой странице почитать про pivot. т.е. если промежуточная таблица (country_translate ) несет за собой только связь других, то смысл на нее модель заводить? а вот если она еще собой важную инфу тянет (когда связи сделали, до какого актуально будет, кто сделал и т.д.), тогда уже можно подумать сделать привычную модель и работает с ней как обычно как пример связь между тэгами и новостями. Накой нам модель которая отвечает за связь тэгом к новостям?)
чтобы релейшены прописать, hasManyThrought, поэтому модель нужна
модель нужна только для связи? там нужно когда все три модели несут данные и нужно связать две модели через третью, а тут belongsToMany за глаза, как по мне
Обсуждают сегодня