laravel-5 - 类 Illuminate\Database\Eloquent\Builder 的对象无法在过滤中转换为字符串
问题描述
我正在制作搜索功能,并且喜欢添加过滤器我的搜索,我的代码就像
代码区域 ================================================== =========
public function search(Request $request) {
$q = $request->input('q');
$resources = Resource::where('title','LIKE','%'.$q.'%')
->orWhere('name','LIKE','%'.$q.'%')
->orWhere('batch','LIKE','%'.$q.'%')
->orWhere('mba/emba','LIKE','%'.$q.'%')
->orWhere('topic','LIKE','%'.$q.'%')
->orWhere('year','LIKE','%'.$q.'%')
->orWhere('company','LIKE','%'.$q.'%')
->orWhere('supervisor','LIKE','%'.$q.'%')
->orWhere('abstract','LIKE','%'.$q.'%')
->latest()->paginate(5);
if(count($resources) > 0) {
return view('blog', [
'resources' => $resources
]);
}else {
echo "there is nothing like that result";
}
}
我正在使用输入值进行搜索,我想过滤并像这样更改我的代码....所以我可以从现有的查询中过滤
代码区================================================= =============
public function search(Request $request) {
$q = $request->q;
$resources = Resource::where('title','LIKE','%'.$q.'%')
->orWhere('name','LIKE','%'.$q.'%')
->orWhere('batch','LIKE','%'.$q.'%')
->orWhere('mba/emba','LIKE','%'.$q.'%')
->orWhere('topic','LIKE','%'.$q.'%')
->orWhere('year','LIKE','%'.$q.'%')
->orWhere('company','LIKE','%'.$q.'%')
->orWhere('supervisor','LIKE','%'.$q.'%')
->orWhere('abstract','LIKE','%'.$q.'%');
$author = $request->author;
if($author != '') {
//"This is where the error message show"
//"I would like to filter from above query"
=======================================================
$resources = $this->$resources->where('name', $author)
=======================================================
dd($resources);
}
$resources = $resources->latest()->paginate(5);
if(count($resources) > 0) {
return view('blog', [
'resources' => $resources
]);
}else {
echo "there is nothing like that result";
}
}
因此,我最终得到消息 =>“类 Illuminate\Database\Eloquent\Builder 的对象无法转换为字符串”
我是菜鸟……所以请帮忙……谢谢大家
解决方案
问题是$this->$resources
。
PHP 假定这$resources
是当前类 ( $this
) 的属性,因此尝试将其转换为字符串。
将行替换$resources = $resources->where('name', $author);
为修复它。
推荐阅读
- mobile-browser - 为什么基于 WASM 的 Web 应用程序适用于桌面 Chrome,而不适用于 Android 上的移动 Chrome?
- node.js - 发送请求时邮递员中的 ESOCKETTIMEOUT
- kubernetes - URL Regex match for Istio- VirtualService throwing 404
- swift - Swift:通过 UI 按钮点击访问 ARsession 参数
- html - Angular 4禁用桌面上HTML5相机属性的文件选择器
- laravel - Vue js Preloader 不会停止加载
- javascript - 切换元素
- jquery - Jquery DataTable 未显示(ReactJs)
- kubernetes - ReplicaSet 抛出错误“选择器与模板标签不匹配”
- r - 在 R 中使用 ifelse 循环多个矩阵以记录归一化值