Laravel喜欢查询无法正常工作

时间:2015-09-23 09:02:13

标签: php mysql laravel

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版。查询有什么问题?我该如何解决?谢谢你的时间。

2 个答案:

答案 0 :(得分:0)

?只是占位符,用于参数化查询。它有助于防止SQL注入。执行查询时,它们将替换为您提供的参数。

如果您想查看整个查询,我建议您使用DB::getQueryLog()。它将显示一个包含查询和使用的参数的数组(在数组的bindings部分中)。以下是对类似问题的引用:

https://stackoverflow.com/a/18236656/1193304

答案 1 :(得分:0)

如果您使用的是4.2,请尝试以下代码: -

$keyword= Input::get('keyword');

        return View::make('sports.search')
        ->with('result', Sports::where('name', 'LIKE', '%'.$keyword.'%')->get())
        ->with('keyword', $keyword);