Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Доброго времени суток.
Скажите пожалуйста, как в laravel, грамотно организовать отношения в ОДНОЙ таблице.
Если было бы сделано в двух таблицах то это выглядело бы так.
Contacts (id, name_en, name_ru) ->hasMany(Contact_lists)
Conctact_lists (id, contact_id, type(enum(email,phone))
Но как это реализовать в одной и той же таблице?
Спасибо.
Не в сети
Скажите, чего вы пытаетесь добиться вашим решением?
Изменено lodar (31.08.2017 12:55:00)
Не в сети
Малого количества таблиц
Не в сети
Ваше решение не логично и нарушает все принципы нормализации бд. С другой стороны, если вы хотите хранить в бд переводы с всех таблиц, добавьте поле типа таблицы в таблицу с переводами, а в основную модель метод который возвращает по ид и этому полю-типу строки.
Изменено lodar (31.08.2017 13:00:41)
Не в сети
Хорошо, а если предположим я собираюсь сделать таблицу в которой хранятся меню. Где parent_id это id записи в этой же таблице. Тогда как быть ?
Не в сети
Зачем? Я бы создал 2 таблицы, Основное меню (табл1) и дети этого меню (табл2) с парент_ид. Повесил бы форейгн кей и забыл бы про обеспечения целостности. А так вы рискуете убить запись родителя и оставить всех детей, это раз. Вам потребуется повесить логику обеспечения целостности в бэкенд, это два. Вы можете получить циклическую ссылку, это три. Аргументов не достаточно?
Не в сети
Достаточно, спасибо за внятное объяснение
Не в сети
добавьте поле типа таблицы в таблицу с переводами, а в основную модель метод который возвращает по ид и этому полю-типу строки
Я так понимаю вы сейчас говорите про полиморфные связи.
Изменено MeKree (31.08.2017 13:15:48)
Не в сети
Страницы 1