【发布时间】:2017-12-21 19:35:05
【问题描述】:
我有一个问题,我有一个框搜索,所有用户都可以从数据库中的表中搜索记录,问题在于特殊字符,因为当数据库中的记录看起来像这样“Canción”用户键入并搜索“Cancion”,结果为空,并没有得到任何结果,但是,显然,如果他们输入“Canción”,他们得到了所有标题为Canción 的记录。功能是这样的;我正在使用 ILIKE 进行比较,但结果并不好。我正在使用 postgres。
public function scopeSearch($query, $search, $option)
{
if ($search !="")
{
if ($option == 'all')
{
$query->where('title', 'Ilike', '%' . $search . '%')
->orWhere('author', 'Ilike', '%' . $search . '%')
->orWhere('description', 'Ilike', '%' . $search . '%')
->orWhere('keywords', 'Ilike', '%' . $search . '%')
->orWhere('section', 'Ilike', '%' . $search . '%');
}
else
{
$query->where($option, 'ILIKE', '%' . $search . '%');
}
}
}
感谢您的帮助。不胜感激
【问题讨论】: