尽管数据库中存在项目,但搜索不起作用
Search is not working although item exists in DB
我正在使用 laravel 6:需要用户通过搜索栏查找记录,但它显示 无可用记录
enter image description here
我的 model:Category 模型中的这个:
public function scopeWhenSearch($query, $search)
{
return $query->when($search, function ($q) use($search){
return $q->where('name','like','%$search%');
});
} //end of scopeWhenSearch
然后在我的控制器中我在搜索时在索引中使用function:categoryController
public function index()
{
//
$categories= Category::whenSearch(request()->search)->paginate(2);
return view('dashboard.categories.index', compact('categories'));
}
'%$search%'
是字面上搜索字符串 $search
,而不是 $search
包含的任何内容...在 PHP 中使用 '
(单引号)不会'从变量中提取值,需要拼接值或者使用"
(双引号):
return $query->when($search, function ($q) use($search){
return $q->where('name', 'LIKE', '%'.$search.'%');
// or use "
// return $q->where('name', 'LIKE', "%$search%");
});
我正在使用 laravel 6:需要用户通过搜索栏查找记录,但它显示 无可用记录
enter image description here 我的 model:Category 模型中的这个:
public function scopeWhenSearch($query, $search)
{
return $query->when($search, function ($q) use($search){
return $q->where('name','like','%$search%');
});
} //end of scopeWhenSearch
然后在我的控制器中我在搜索时在索引中使用function:categoryController
public function index()
{
//
$categories= Category::whenSearch(request()->search)->paginate(2);
return view('dashboard.categories.index', compact('categories'));
}
'%$search%'
是字面上搜索字符串 $search
,而不是 $search
包含的任何内容...在 PHP 中使用 '
(单引号)不会'从变量中提取值,需要拼接值或者使用"
(双引号):
return $query->when($search, function ($q) use($search){
return $q->where('name', 'LIKE', '%'.$search.'%');
// or use "
// return $q->where('name', 'LIKE', "%$search%");
});