laravel - 搜索属于当前用户 Laravel 5.7 的记录
问题描述
我只想搜索属于当前用户的记录
这是我的控制器代码:
public function index(Request $request)
{
$users = User::all();
$branches = Branch::all();
if(Auth::user()->shortsign == '--')
{
$deposits = Deposit::query()
->where([['client', 'LIKE', "%{$request->search}%"]])
->orWhere([['mobile', 'LIKE', "%{$request->search}%"]])
->orWhere([['amount', '=', "{$request->search}"]])
->orWhere([['id', '=', "{$request->search}"]])
->latest()->paginate(5);
return view('dashboard.deposits.index', array('deposits' => $deposits,
'branches' => $branches ,'users' => $users));
}
else
{
$deposits = Deposit::where([['userSign',Auth::user()->shortsign]],function ($q) use ($request){
return $q->when($request->search,function ($query) use ($request) {
return $query->where([['client', 'LIKE', "%{$request->search}%"]])
->orWhere([['mobile', 'LIKE', "%{$request->search}%"]])
->orWhere([['amount', '=', "{$request->search}"]])
->orWhere([['id', '=', "{$request->search}"]]);
});
})->latest()->paginate(5);
return view('dashboard.deposits.index', array('deposits' => $deposits,
'branches' => $branches ,'users' => $users));
}
}
当我以普通用户身份登录并且搜索没有任何反应时,它会带来所有当前用户行而没有过滤器
解决方案
取而代之的是,您可以这样做
if(auth()->user()->shortsign == '--') {
$deposits = Deposit::where('client', 'LIKE', "%$request->search%")
->orWhere('mobile', 'LIKE', "%$request->search%")
->orWhere('amount', '=', "$request->search%")
->orWhere('id', '=', "$request->search%")
->latest()->paginate(5);
}
else {
$deposits = Deposit::where('userSign',Auth::user()->shortsign)->latest()-
>paginate(5);
}
在您的视图文件中,您可以 foreach 并使用类似的属性
foreach($deposites as $d) {
{{ $d->id }} {{ $d->amount }}
}
它会像用户短符号一样搜索——它将搜索所有用户并为你提供输出,但如果 auth()->user()->shortsign 不是——它将仅获取当前登录用户的结果
让我知道你是否想要这个
推荐阅读
- sql - 亚马逊雅典娜 sql 系统日期
- r - 在 R 中使用 str_replace_all 和 strsplit 循环数据
- kubernetes - 如何使用 yq 在条件下修补多文档 yaml 文件?
- tfs - 在哪里可以找到 Microsoft.TeamFoundation.Framework.Common
- python - Jupyter Notebooks 总是使用 GPU 和预训练的 Keras 检查点预测相同的类
- ios - 没有更多上下文的表达式类型不明确 - AWS Amplify
- spring - 将 ConfigurationProperties 与内部类一起使用会导致“属性未绑定”异常
- apache-kafka - 是否可以通过 SeekToCurrentErrorHandler 跳过日志记录堆栈跟踪?
- tensorflow - 我应该在我的神经网络中使用什么激活函数?
- css - 如何在 create-react-app 中使用导入全局 sass 变量(已弹出)