Стол Laravel Pivot без модели - PullRequest
0 голосов
/ 22 мая 2019

У меня есть модель Banner и массив разрешенных локалей.

Я хочу, чтобы баннер работал на нескольких языках, например, Баннер может отображаться в локалях 'en', 'ru', но не виден в локали 'de'.

локали хранятся в конфигурационном файле - `app ('config.allow_languages')

Как создать связь с Banner и локалями через сводную таблицу, не создавая таблицу локалей и модель

1 Ответ

1 голос
/ 22 мая 2019

Если я правильно понимаю, без создания других моделей / таблиц, я бы:

Создайте баннер модели с колонкой locale в формате json / jsonb.

Затем в каждом месте, где вам нужно получить баннер, используйте предложение where, например:

Banner::whereJsonContains('locale', app('config.allow_languages'));

Если это работает так, как вы хотите, вы можете создать область, в которой это «где» запускается каждый раз, когда вы используете модель Banner.

...