【问题标题】:Displaying the administrator view in laravel在 laravel 中显示管理员视图
【发布时间】:2020-04-17 08:11:28
【问题描述】:

我在显示管理视图时遇到了一个小问题。我搜索了,但我没有找到一个好的解决方案。我有一个会议表,其中存储了两个不同用户的 ID,并根据登录者显示记录。

我分配给变量Auth::user()->id 然后调用

$variable = MeetingModel::where('user_id, $variable)->orWhere('other_user,$variable)->get();

在这种情况下,将显示分配给特定登录用户的记录。我希望管理员查看所有记录。此外,我必须在查询中引用用户模型及其类型(管理员)。

【问题讨论】:

  • where('user_id, $variable) orWhere('other_user,$variable) 缺少结束'。什么是“管理员视图”?请参阅the documenation 了解如何显示视图
  • 什么是识别标志或表中的列来检查普通用户和管理员?

标签: php mysql database laravel frameworks


【解决方案1】:

您可以使用 when 方法的回调来根据用户类型动态加载记录。像这样的:

$notAdmin = (auth()->user()->type == "administrator") ? false : true;
$variable = MeetingModel::when($notAdmin, function($query){
                $query->where('user_id', auth()->id())->orWhere('other_user', auth()->id())
            })->get();

【讨论】:

    【解决方案2】:

    试试这个解决方案。

    $id= Auth::user()->id;
    $type = Auth::user()->type;
    
     if ($type == 'admin') {
         $variable= MeetingModel::all();
     } else {
        $variable= MeetingModel::where('user',$id)->orWhere('other_user',$id)->get();
    }
    

    在这里你必须检查登录usertype 如果type 列具有admin 值,那么它将获取所有数据,否则仅获取特定数据。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-09-23
      • 2019-05-14
      • 2020-01-31
      • 1970-01-01
      • 2010-11-25
      • 2020-09-27
      • 1970-01-01
      相关资源
      最近更新 更多