寫在前面的話
上次發了一篇博文如何優雅地使用幫助類檔案 helpers.php,主要是解決type等欄位“含義不明”的問題,但是後來想想確實很麻煩,就像朋友們留言的那樣,還不如直接在模型中定義,在修改時能夠快速定位,所以這篇文章就是上一篇的簡化版。
定義Map
//這裡是User模型
const USER_TYPE_UNDER = '1';
const USER_TYPE_JOIN = '2';
const USER_TYPE_RUN = '0';
public static $userTypeMap = [
self::USER_TYPE_UNDER => '下單人',
self::USER_TYPE_JOIN => '接單人',
self::USER_TYPE_RUN => '管理員',
];
追加欄位
/**
* 追加欄位
*/
protected $appends = ['type_str'];
public function getTypeStrAttribute()
{
return User::$userTypeMap[$this->getAttribute('type')];
}
到這裡我們就完成了,所有的操作都是在User模型中完成的,感覺簡單了好多,如果你有其他的想法,歡迎評論