我開發了一個簡單的應用程序表單,我以兩種語言提供服務。我也從數據庫中填充下拉菜單,我正在努力如何以兩種語言呈現這些數據。數據不是很有活力,而且有時候可能會添加新的條目,因此手動工作對我無能爲力。對於不同的情況,我也拉動不同的行數。我很困惑,我認爲,除非我有兩個數據庫,或者將翻譯添加到數據庫並將其與原文一起呈現,否則我沒有其他選擇。 或數據庫中的一個新列將保留tranlation,然後根據所選語言環境提取正確的列... 任何想法,將不勝感激,謝謝!本地化數據庫結果
Q
本地化數據庫結果
0
A
回答
1
我看到它的方式,在你的情況下,最好的選擇是創建一個單獨的表來存儲每條記錄的翻譯。
例如,像博客文章這樣的條目可能會有一些在所有網站語言中都很常見的字段,但標題,內容和slu things等內容將是特定於語言環境的。當用戶請求這些信息時,所有的常用信息將從'posts'表中檢索,而特定於語言環境的翻譯將從'posts_translations'表中檢索。
這樣您就不必爲每個翻譯手動添加列。雖然從技術上講,這可以工作得很好,但如果您不得不添加其他語言,則會遇到問題。如果翻譯存儲在單獨的表格中,那就不再是問題。
下面是一個例子,如何可能使用ORM口才看時:
public function getPosts()
{
$language = App::getLocale();
$posts = Post::with([
'translation' => function ($query) use ($language) {
$query->where('language', '=', $language);
}
])->get();
return $posts;
}
另外,使用Laravel的查詢生成器相同的方法:
public function getPosts()
{
$language = App::getLocale();
$posts = DB::table('posts')
->leftJoin('posts_translations', 'posts.id', '=', 'posts_translations.post_id')
->where('posts_translations.language', '=', $language)
->get();
return $posts;
}
相關問題
- 1. 本地數據庫空結果
- 2. Heroku dataclips結果不同於本地數據庫結果
- 3. 數據庫本地化
- 4. ASP.NET數據庫本地化
- 5. 隨機化數據庫行結果
- 6. 本地保存數據層的結果
- 7. Vb腳本數據庫回聲結果
- 8. GAE谷歌雲數據庫JPA本地MySQL結果爲空
- 9. Mvc本地化數據庫值
- 10. Telerik Reporting中的數據庫本地化
- 11. 本地化的數據庫信息
- 12. iOS本地化與SQLite數據庫
- 13. ASP.NET MVC數據庫本地化
- 14. 文件或數據庫本地化
- 15. 本地化數據庫字符串
- 16. 如何本地化數據庫表
- 17. 數據庫中的本地化資源?
- 18. Django中的數據庫本地化
- 19. 優化WebSQL本地數據庫人口
- 20. 類別本地化resx或數據庫?
- 21. Firebase數據庫和應用本地化
- 22. 如何獲取持久化的本地數據庫數據庫?
- 23. 谷歌有機結果本地化
- 24. 本地數據庫
- 25. 優化數據庫結構
- 26. Grails addTo *結果數據庫
- 27. 數據庫,爲結果
- 28. 檢索數據庫結果
- 29. 更改數據庫結果
- 30. 雲數據庫或本地數據庫