Laravel - 操作模型中的数据

Jon*_*ley 5 php laravel eloquent

我可能把这件事复杂化了,或者错过了一些非常简单的事情,所以如果我是的话,请原谅我。

我正在尝试操作/映射模型中的一些数据。

我正在尝试做的一个非常简单的例子:

我有$model->attr,这将返回我的数据库中该列的所有内容。

我知道回报将是123

在视图上显示时,我希望这个值显示不同的内容,在这个例子中,我们可以说1=>'red', 2=>'blue', 3=>'green'

我将如何在模型中做到这一点?我查看了访问器和修改器,但不确定它们是否是正确的使用方法。

提前致谢。

Dou*_*aan 3

您确实需要一个访问器

public function getNewValueAttribute($value){
    switch($value) {
        case '1':
            return 'red';
        case '2':
            return 'blue';
        case '3':
            return 'green';
    }
}
Run Code Online (Sandbox Code Playgroud)

将其放入您的模型中,它应该可以完美运行!

Laravel 将属性转换为 CamelCase,因此$user->full_name有一个访问器getFullNameAttribute$user->all_your_base_are_belong_to_us变为getAllYourBaseAreBelongToUsAttribute