因此,目前我已经创建了搜索文本字段来查找数据库特定列的关键字。
用这个口才
$data = DB::table('product')
->select('product.id','product.title','product.description','product.content','product.photo','product.quantity','product.price')
->join('product_per_category','product_per_category.product_id','=','product.id')
->where(['product.deleted' => 0])
->where(['product_per_category.deleted' => 0])
->where(['product_per_category.productcategory_id' => $id])
->where(function($query) use ($keyword){
$query->where('product.content', 'like', '%' . $keyword . '%')
->orWhere('product.title', 'like', '%' . $keyword . '%')
->orWhere('product.quantity', 'like', '%' . $keyword . '%')
->orWhere('product.price', 'like', '%' . $keyword . '%');
})
->groupBy('product.id')
->paginate(10);
如果我尝试搜索234.00Price 的值,与 的列匹配的所有可能值content, title, quantity, price, quantity将自动返回数据。
如果我尝试搜索这样的关键字怎么办
234.00 BooksPrice和的值Title。它现在不会返回任何数据。因为它只会匹配特定列上的这句话。
我想做的是如果我搜索这样的东西
= 234.00 Books 20
*Value of Price, Title and Quantity
它应该返回每列上匹配的所有数据。字母无论小写还是大写只要符合字母的位置即可
那可能吗?
** 更新 **
目标:只想匹配234任何列上的值。成为结果。但我的查询的问题是,如果我添加另一个类似的关键字,234 Books它不会返回任何数据
慕桂英3389331
HUWWW