php - 过滤已请求的数据

标签 php laravel

有一个返回所有门票的函数。我有两个角色:1-Moderator(可以看到所有工单),2-Client(可以看到自己的工单)。所以我请求所有的票,然后我检查user是否是client,然后我需要过滤掉并显示他自己的票。 Ticketuser_id 字段。我想我可以使用 foreach 还是有更好的选择?

$tickets = Ticket::all();
// check whether authenticated user is client
if (auth()->user()->role_id == 2) {

}

return new TicketsResourceCollection($tickets);

最佳答案

可以直接使用user_id过滤掉数据:

if (auth()->user()->role_id == 1) {
    $tickets = Ticket::all();
} else {
    $tickets = Ticket::where('user_id', auth()->user()->id)->get();
}

关于php - 过滤已请求的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59104897/

相关文章:

php - 对同一个变量的多次赋值

php - mysql查询在where子句中包含空值

php - 如何限制 Symfony 中特定用户对( Controller )操作/方法的访问?

php - "multiplying"MySql 记录有什么方法可以测试服务器上的大型数据库吗?

javascript - 将 ISO 8601 时间格式化为 Laravel View

php - Laravel 返回最后一个用户

php - php中使用正则表达式的日期格式

php - laravel artisan 使用未定义的常量 STDIN - 假设 'STDIN' 无限循环

php - 输出对评论的回复

php - Laravel - 如果查询为空,则返回不同的查询