【发布时间】:2022-01-10 13:54:58
【问题描述】:
我正在尝试使用 laravel 在控制器中使用查询生成器,但我不明白,但查询没有找到数据。
代码如下:
public function index()
{
$data = downloads::all();
if(request('searchName')){
$data = $data->where('fileName','like','%'.request('searchName').'%'); //Here's the problem
return view('download', compact('data'));
}
else{
return view('download', compact('data'));
}
}
我已经尝试过dd(request('searchName')),它会显示我提供的输入,所以这里没有问题
当我使用$data->where('fileName','like','%'.request('searchName').'%') 时没有显示数据
我不认为我拼错了文件名,因为当我使用$data->where('fileName','like',request('searchName')) 并且它工作并显示文件时,但文件名必须与输入的搜索名完全相同,当然我想要的是不是这个
即使我使用dd('%'.request('searchName').'%');,它也会显示"%*searchName*%",这就是为什么当我使用$data->where('fileName','like','%'.request('searchName').'%');时它不起作用时我如此困惑
我什至在 SQL Workbench 中使用SELECT * FROM *tables* WHERE fileName LIKE '%p%';,它工作得非常好
我应该怎么做的任何建议?谢谢
【问题讨论】:
标签: laravel laravel-query-builder