当前位置:首页 > CMS教程 > 其它CMS > 列表

使用laravel根据用户类型来显示或隐藏字段

发布:smiling 来源: PHP粉丝网  添加日期:2022-01-08 15:20:20 浏览: 评论:0 

在api开发中,有时候需要对自己以外的其他普通用户隐藏字段,比如隐藏手机号,而对于admin用户,则又不需要隐藏手机号。

所以,需要设计一种能够简单的根据不同用户来显示或隐藏字段的方式。

方法基于laravel实现

  1. use Illuminate\Database\Eloquent\Model; 
  2. class User extends Model 
  3.  /** 
  4.   * 重写toArray方法 
  5.   */ 
  6.  public function toArray(){ 
  7.   //获取api用户 
  8.   $me=app(Request::class)->user("api"); 
  9.   if ($me!=null) 
  10.   { 
  11.    if ($me instanceof AdminUser) 
  12.    { 
  13.     //如果是admin用户 
  14.     //TODO:使用admin用户的显示规则 
  15.    }else if($me instanceof User){ 
  16.     if ($me->id==$this->id) 
  17.     { 
  18.      //如果是自己 
  19.      //TODO:使用面向自己的显示规则 
  20.     }else
  21.      //如果是其他普通用户 
  22.      //TODO:使用面向其他普通用户的显示规则 
  23.     } 
  24.    } 
  25.   } 
  26.   return parent::toArray(); 
  27.  } 

这样实现后,就不需要针对每一个api去修改规则了。

Tags: laravel显示字段 laravel隐藏字段

分享到: