為 type 等欄位「保駕護航」

Jouzeyu發表於2019-11-13

為type等欄位「保駕護航」

寫在前面的話

上次發了一篇博文如何優雅地使用幫助類檔案 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模型中完成的,感覺簡單了好多,如果你有其他的想法,歡迎評論

一個有些偏執的人
     ——Jouzeyu

相關文章