laravel Eloquent ORM —— 访问器使用技巧

阅读数: 223 2018年06月17日

普通的访问使用可以参考手册,可是手册例子比较简单,更复杂的环境就不知道如何使用:
比如:UserModel 没有 status_text 字段。但是需要根据其他条件计算后,获得 status_text 值,并且输出。常规的方法是取出值后,自己在额外判断,如果碰到循环更麻烦 。


结合访问器和Model 内置的 getAttribute() 或 getOriginal() 即可在对应的 UserModel 文件里面实现,方便维护。

getAttribute('status');
        if($status == 4){
            return '不可用';
        }
        $expiry_time = $this->getOriginal('expiry_time');
        if($expiry_time < time()){
            return '已到期';
        }

        return '正常';
    }

}

这样,外面直接使用 $model->status_text 即可获得中文值。

phpriji.cn | 网站地图 | 沪ICP备17015433号-1