@seredaes

Как сделать мультиязычныю форму в laravel?

Привет.

Столкнулся с такой проблемой.
В системе предположим несколько языков, и форма создается так:
<form method="post">
<input type="text" name="title_ru">
<input type="text" name="title_en">
</form>


В БД предположим такая структура
id - lang - title
1 - ru - заголовок на русском
2 - en - english title
...
...
10 - fr - title in french

Как используя ORM сохранить все в БД?
Ведь если я сделаю table::create($request->all()) он не сохранит.

1 вариант. Парсить все и шаг за шагом все сохранять
2 вариант. Может есть идея или ссылка что почитать, как это сделать?

Буду очень благодарен. Заранее спасибо :)
  • Вопрос задан
  • 230 просмотров
Пригласить эксперта
Ответы на вопрос 2
Alex_Wells
@Alex_Wells
PHP/Kotlin
Если нужна возможность отправки нескольких языков одновременно, то я бы сделал какой-то список, типа "язык-title" с возможностью добавить еще один или удалить (на фронте). Тогда мы получим какой-то JS обьект, типа:

perLanguages === {
  en: {
    title: 'something'
  },
  ru: {
    title: 'что нибудь'
  }
}


А потом мапим этот ассоциативный массив на беке/фронте с остальными данными формы и вызываем model::create($arr);
Ответ написан
@seredaes Автор вопроса
Нашел решение.
В laravel есть метод model::insert(), вместо model::create()
Он позволяет массив данных загружать.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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