我在数据库中存储了帖子,如下所示,我想根据语言环境获取记录。
id title-ar title-en body-ar body-en
---------------------------------------------------------
1 خبر جديد new post مرحبا hello
2 اخر الاخبار last news مرحبا hello
假设我要加载阿拉伯或英语语言的数据,该如何实现?
答案 0 :(得分:1)
这里也有新的laravel,所以如果是我,我会做2个查询(而且我知道可能有更好的方法,但是我会这样做):
$englishPosts = Table::all()->select('title-en', 'body-en');
$arabicPosts = Table::all()->select('title-ar', 'body-ar');
然后将它们返回到视图(叶片)或vue / react组件并以这种方式显示。
答案 1 :(得分:0)
我有 getLanguageCode()方法,该方法会向我返回en,ar,fr或我要用来与列名一起使用的任何选定语言名称。喜欢
DB::table('faqs')->selectRaw('title_' . getLanguageCode() . ' as title, description_' . getLanguageCode() . ' as description')->where('is_active', 1)->orderBy('id', 'DESC')->limit(4)->get();
这是 getLanguageCode()进入我的助手文件的代码,我可以直接调用它而无需任何引用。
function getLanguageCode() {
return LaravelLocalization::getCurrentLocale();
}