在api開發(fā)中,有時候需要對自己以外的其他普通用戶隱藏字段,比如隱藏手機(jī)號。而對于admin用戶,則又不需要隱藏手機(jī)號。
所以,需要設(shè)計一種能夠簡單的根據(jù)不同用戶來顯示或隱藏字段的方式。
方法基于laravel實(shí)現(xiàn)
use Illuminate\Database\Eloquent\Model;
class User extends Model
{
/**
* 重寫toArray方法
*/
public function toArray(){
//獲取api用戶
$me=app(Request::class)->user("api");
if ($me!=null)
{
if ($me instanceof AdminUser)
{
//如果是admin用戶
//TODO:使用admin用戶的顯示規(guī)則
}else if($me instanceof User){
if ($me->id==$this->id)
{
//如果是自己
//TODO:使用面向自己的顯示規(guī)則
}else{
//如果是其他普通用戶
//TODO:使用面向其他普通用戶的顯示規(guī)則
}
}
}
return parent::toArray();
}
}
這樣實(shí)現(xiàn)后,就不需要針對每一個api去修改規(guī)則了
以上這篇使用laravel根據(jù)用戶類型來顯示或隱藏字段就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
您可能感興趣的文章:- laravel-admin表單提交隱藏一些數(shù)據(jù),回調(diào)時獲取數(shù)據(jù)的方法
- laravel 字段格式化 modle 字段類型轉(zhuǎn)換方法