我正在尝试从数据库中检索数据,我需要将 sql 作为原始查询运行,这就是我的做法:
$var = Nuti::select(DB::raw("select name, image, info from nuti
where name like '%:search_term%'"), array("search_term" => $term));
return $var;
$var 返回一个空数组,但是当我尝试直接在 mysql 控制台中运行相同的查询时,它返回两条记录。
[编辑]
当我发布这个问题时,我只是缩短了查询,需要一个原始查询来做一些更像这样的事情:
$var = Nuti::select(DB::raw("select name, image, info from nuti
where name like '%:search_term%'") or info %like% '%:search_term%', array("search_term" => $term));
return $var;
最佳答案
您可以通过以下方式实现。
$data = Nuti::select(['name', 'image', 'info'])->where('name', 'like', "%{$term}%")->get();
$data = Nuti::selectRaw('name, image, info')->where('name', 'like', "%{$term}%")->get();
$data = DB::table('users')->select(['name', 'image', 'info'])->where('name', 'like', "%{$term}%")->get();
$data = DB::table('users')->selectRaw('name, image, info')->where('name', 'like', "%{$term}%")->get();
$data = DB::select("select name, image, info from nuti where name like '%{$term}%'");
关于php - Laravel 5 原始选择查询不返回任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44087407/