Laravel - 处理模型

时间:2017-04-18 10:14:43

标签: php laravel eloquent

我可能过于复杂或者遗漏了一些非常简单的事情,所以请原谅我。

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

我想要做的一个非常简单的例子:

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

我知道返回的格式为123

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

我将如何在模型中执行此操作?我看过Accessors&变异者但不确定它们是否正确使用。

提前致谢。

2 个答案:

答案 0 :(得分:3)

确实需要accessor

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

把它放在模型中,它应该可以正常工作!

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

答案 1 :(得分:0)

我认为您正在尝试根据条件输出文本。如果是,你可以尝试

@if($model->attr==1)
  red
@elseif($model->attr==2)
  blue
@else
  green
@endif