mpe*_*pen 10 php laravel laravel-4
如何逃避LIKELaravel/Eloquent中的一个条款?例如,
$search = Input::query('sSearch', '');
if($search !== '') {
$paginatedBookings->where('first_name', 'LIKE', '%' . $search . '%');
}
Run Code Online (Sandbox Code Playgroud)
如果$search包含%或_需要转义它们.
ntz*_*tzm 15
另一个答案是忘记逃避转义字符本身,这是一个更强大的解决方案:
/**
* Escape special characters for a LIKE query.
*
* @param string $value
* @param string $char
*
* @return string
*/
function escape_like(string $value, string $char = '\\'): string
{
return str_replace(
[$char, '%', '_'],
[$char.$char, $char.'%', $char.'_'],
$value
);
}
Run Code Online (Sandbox Code Playgroud)