Доп. поля для laravel с зависимостью от выбранной категории
Подскажите, как реализовать подобное. Есть модель Song (аналог классическому Post). В неё добавляется поле для основного текста песни. Если песня иностранная (какой-то тумблер должен быть), то должно появляться поле для перевода этой песни. Как реализовать подобное на Laravel? Должны ли доп. поля песни быть созданы сразу в БД или это делается как-то динамически? Может быть, нужно создавать разные модели?
Ответы (2 шт):
Я бы сделал через две таблицы
songs, songs_translates
Должен быть обязатеельный язык и дополнительные Дополнительные - на клиенте через js А на сервере - сохраняете в зависимости от того, что вам пришло
Такое решение даст вам возможность без проблем добавлять различные языки в будующем времени
По любому должны быть доп. поля в базе, если вы хотите в дальнейшем реализовать какой-то адекватный поиск по тексту. А делать это в отдельной таблице или в той же зависит от количества языков. Если языков только два (оригинал и перевод на русский), делайте в одной. Если более - то лучше отдельная таблица.
Для первого варианта можно например добивать поля: lang, text, text_ru
Если lang = 'rus' выводите только поле text, а если lang = 'eng', то выводите оба поля text и text_ru.