@NikHaker
/

Как хранить подписи объектов в Laravel?

Приветствую. У меня есть много разных моделей, например, Role, Rank и другие. К каждой из этих моделей мне нужно хранить подпись в разных падежах и числах, чтобы потом отображать в интерфейсе. Например, есть Role модератора, тогда я хочу хранить такую информацию: "модератор", "модератора", ... "модераторами", ... Информацию вводит пользователь. Как это лучше сделать?
Поскольку для всех моделей одно описание, я думаю сделать одну модель Label и таблицу к ней со столбцами object_id, object_type, <все падежи и падежи с множественным числом> и привязать к нужным объектам связью один к одному. Но выглядит не очень. К тому же я не знаю, как выполнить такую привязку, она идет по двум столбцам, но hasOne работает только с одним. Буду благодарен за помощь.

UPD: Для такой формы связей, возможно, подойдет полиморфная привязка.
  • Вопрос задан
  • 73 просмотра
Решения вопроса 1
@Kostik_1993
Fullstack Web Developer | PHP | Laravel | Vue.js
Я бы не советовал так извращаться. У меня на сайте есть вывод городов, и когда мне нужно вывести название города в определенном падеже я использую библиотеку morphos

Для примера чтобы вывести название в предложном падеже я написал в модели метод
public function getNameRpAttribute()
	{
		// Имя в предложном падеже
		return \morphos\Russian\GeographicalNamesInflection::getCase($this->attributes['name_ru'], 'предложный');
	}

С данной библиотекой вы сможете сделать многие вещи касаемые склонений слов и будет вам счастье и счастье человеку которому нужно будет потом редактировать контент
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы