在多语言网站中,我有产品表
的这些字段product_id
title_fa
title_en
title_ar
desc_fa
desc_en
desc_ar
.
.
.
现在我想根据当前的laravel Locale搜索(例如) title 字段。 我知道我们可以这样使用:
$products = Product::where('title_'.App::getLocale(),'LIKE' , '%'.$data['search_value'].'%');
但是我认为这不是很干净,而且很多大字段都不合适。
我正在寻找一种像普通搜索字段一样简单的方法,然后在背景中基于该字段进行laravel搜索根据当前的应用程序区域设置:
$products = Product::where('title','LIKE' , '%'.$data['search_value'].'%');
我怎样才能做到最好?
答案 0 :(得分:1)
您好,如果您想要非常简单的方式搜索产品,请使用以下laravel多语言包
https://github.com/dimsav/laravel-translatable
在这个包中你必须创建2个表一个Product和Product_translate,产品表会有你的基本产品信息,translate会有语言数据,在product_translate表中你可以使用搜索查询,轻松是表列名将保持相同你在哪里使用语言过滤器。