Laravel“喜欢”查询不起作用。例如,查询如下;
$result = Sports::where('name', 'LIKE', '%'.$name.'%')
例如
$name= 'football';
如果我使用
$result->toSql();
它说
select * from sports`where ( `name` like ? )
应该是
select * from sports where (
名称like '%football%' )
。
如您所见,我无法在like
查询中看到我的项目(足球),只能看到?
。
我正在使用Laravel 4.2版。查询有什么问题?我该如何解决?谢谢你的时间。
答案 0 :(得分:0)
?
只是占位符,用于参数化查询。它有助于防止SQL注入。执行查询时,它们将替换为您提供的参数。
如果您想查看整个查询,我建议您使用DB::getQueryLog()
。它将显示一个包含查询和使用的参数的数组(在数组的bindings
部分中)。以下是对类似问题的引用:
答案 1 :(得分:0)
如果您使用的是4.2,请尝试以下代码: -
$keyword= Input::get('keyword');
return View::make('sports.search')
->with('result', Sports::where('name', 'LIKE', '%'.$keyword.'%')->get())
->with('keyword', $keyword);