我正在编写一个后端,管理员可以在其中编辑前端的不同文本。
该网站有大约20-30个不同的文本段落,这些段落将以相应的语言显示,具体取决于用户是在前端选择英语还是德语。
对于不同的文本语言,我通常使用Laravel语言包。但是,由于要在后端更改数据,因此我必须根据所选语言动态获取数据库中的数据。
现在我正在寻找一种从数据库中获取正确数据的好方法,而无需为每个文本段落进行数据库查询。
数据库虚拟数据如下所示:
使用此代码:
__init__.py
这2个请求适用于2个文本段落。我现在必须对20-30个其他文本段落做同样的事情。我想通过指定此刀片所需的所有“标题”来询问是否有更好的方法在一个查询中汇总它们。
或许是另一种方式。需要另外一种方法来做到这一点,而不用总是做20-30个查询。至少我希望以另一种方式。
如果有人知道更好的方式,我很乐意看到如何在视图中的正确位置输出正确的数据。因为我现在还没有找到更好的方法..
感谢您的帮助!
答案 0 :(得分:3)
您可以使用一个查询加载所有翻译:
$texts = Texts::whereIn('title', ['hello', 'about'])
->where('code', config('app.locale'))
->get()
然后只使用这个系列。例如,您可以使用firstWhere()
方法:
{{ $texts->firstWhere('title', 'hello')->text }}
答案 1 :(得分:2)