没有模型的Laravel数据透视表

时间:2019-05-22 15:01:24

标签: laravel relation

我有模型Banner和允许的语言环境数组。

我想要的是将Banner设置为多种语言,例如Banner可以在“ en”,“ ru”语言环境中显示,但在“ de”语言环境中不可见。

语言环境存储在配置文件-`app('config.allow_languages')

如何在不创建语言环境表和模型的情况下通过数据透视表与Banner和语言环境建立关系

1 个答案:

答案 0 :(得分:1)

如果我理解正确,而没有创建其他模型/表,我将:

创建模型Banner,具有json / jsonb格式的“语言环境”列。

然后,在需要获取横幅的每个地方,使用where子句,例如:

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

如果它能按您希望的方式工作,则可以在每次使用Banner模型时创建一个范围,使该“位置”在其中运行。