@ishimskayamahorka14

Как сделать доп. поля для laravel с зависимостью от выбранной категории?

Подскажите, как реализовать подобное. Есть модель Song (аналог классическому Post). В неё добавляется поле для основного текста песни. Если песня иностранная (какой-то тумблер должен быть), то должно появляться поле для перевода этой песни. Как реализовать подобное на Laravel? Должны ли доп. поля песни быть созданы сразу в БД или это делается как-то динамически? Может быть, нужно создавать разные модели?
  • Вопрос задан
  • 45 просмотров
Решения вопроса 1
neuotq
@neuotq
Прокрастинация
У вас есть два пути, у которых есть общая часть это данные о языке оригинале (правда не без подводных камней, есть двуязычные, но пока опустим).
Первый вариант, вы в Song храните id песни, язык оригинала(пусть сейчас условно строка, 'en' или 'ru', но возможно id языка и связь с другой таблицей), ну и другие мета данные, айди автора, группы и прочее.
а в отдельной таблице SongTranslations вы храните уже id, id песни, язык(или его id), название, текст.
Второй вариант, мне он немного больше нравится в самой таблице Song сделать больше текстовое/json поле где мы будем хранить переводы песни в виде json (снова таки возможно он будет сложнее)
{
[
{'en': { 
title: 'название на английском',
lyric: 'текст на английском'
}
},
{'ru': { 
title: 'название на русском,
lyric: 'текст на русском'
}
}
]
}

Ну идею вы поняли
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы