当前位置:首页 > 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.  /** 
  5.   * 重写toArray方法 
  6.   */ 
  7.  public function toArray(){ 
  8.   //获取api用户 
  9.   $me=app(Request::class)->user("api"); 
  10.   if ($me!=null) 
  11.   { 
  12.    if ($me instanceof AdminUser) 
  13.    { 
  14.     //如果是admin用户 
  15.     //TODO:使用admin用户的显示规则 
  16.    }else if($me instanceof User){ 
  17.     if ($me->id==$this->id) 
  18.     { 
  19.      //如果是自己 
  20.      //TODO:使用面向自己的显示规则 
  21.     }else{ 
  22.      //如果是其他普通用户 
  23.      //TODO:使用面向其他普通用户的显示规则 
  24.     } 
  25.    } 
  26.   } 
  27.   return parent::toArray(); 
  28.  } 
  29. } 

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

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

分享到: