Php 根据laravel中的当前应用程序区域设置在适当的Mysql字段中搜索

Php 根据laravel中的当前应用程序区域设置在适当的Mysql字段中搜索,php,mysql,laravel,Php,Mysql,Laravel,在多语言网站中,我为产品表设置了这些字段 product_id title_fa title_en title_ar desc_fa desc_en desc_ar . . . 现在我想根据当前的laravel语言环境搜索(例如)title字段。 我知道我们可以这样做: $products = Product::where('title_'.App::getLocale(),'LIKE' , '%'.$data['search_value'].'%'); 但我认为,这是不干净的,容易

在多语言网站中,我为产品表设置了这些字段

product_id
title_fa
title_en
title_ar
desc_fa
desc_en
desc_ar
.
.
.
现在我想根据当前的laravel语言环境搜索(例如)title字段。 我知道我们可以这样做:

$products   =   Product::where('title_'.App::getLocale(),'LIKE' , '%'.$data['search_value'].'%');
但我认为,这是不干净的,容易为大领域的数量是不合适的

我正在寻找一种与普通搜索字段一样简单的方法,然后根据当前应用程序区域设置在后台基于该字段进行laravel搜索,如:

$products   =   Product::where('title','LIKE' , '%'.$data['search_value'].'%');

我怎样才能做到这一点?最好的方法是什么?

您好,如果您希望搜索产品比使用以下laravel多语言软件包更简单


在这个包中,您必须创建两个表一个产品和产品翻译,产品表将有您的基本产品信息,翻译将有语言数据,在产品翻译表中您可以使用搜索查询,ease is table列名将在您使用语言过滤器的地方保持不变。

我以前使用过它。但是这个包需要为所有可翻译的表添加一个额外的表。使用它并不容易。我将此软件包用于我的项目,保存和检索数据很容易,对于搜索,您需要创建自定义sql查询。我认为使用
https://github.com/themsaid/laravel-multilingual
https://github.com/dimsav/laravel-translatable
package beacause不需要添加表,并且使用
json
格式的Mysql字段。是的,这很好,但它只是一个新的包,它会仅使用MYSQL 5.7