我有关于搜索的问题。 我可以进行基本搜索。我想进行更高级的搜索 喜欢搜索。
例如。数据库表有" AAA"在' pn'科拉姆。 当我输入" aaa"时,我想显示记录。搜索文本区域。
我在下面做了这个,但它没有工作。 有人能告诉我有什么问题吗?
public function show(Request $request)
{
if (isset($request->pn)) {
$param = ['pn' => $request->pn];
$item = DB::select('select * from sts where pn collate utf8_unicode_ci like '%'.$pn.'%'', $param);
} else {
$items = DB::select('select * from sts');
}
return view('pn.searchshow', ['items' => $items]);
}
答案 0 :(得分:2)
绑定必须包含%
通配符:
$param = ['pn' => '%'.$request->pn.'%'];
$item = DB::select('select * from sts where pn collate utf8_unicode_ci like :pn', $param);
答案 1 :(得分:0)
public function show(Request $request)
{
$query = \DB::table('sts');
if (isset($request->pn)) {
$query->where(DB::raw('`pn` callate utf8_unicode_ci'), 'like', '"%' . $request->pn . '%"');
}
$items = $query->get();
return view('pn.searchshow', ['items' => $items]);
}