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