访问者在Laravel 5.4中不工作

时间:2017-05-29 10:19:12

标签: laravel laravel-5.4

我是Laravel 5.4的新手,目前正致力于Laravel的小项目。根据我的客户端要求,我已经使用CamelCase标准重命名了一些表的列,这违反了Laravel命名约定。

例如,我的表“A”具有列“Status”和“FirstName”而不是“status”和“first_name”。

现在,我在模型文件中使用访问器通过创建下面给出的函数来修改这些列的值:

public function getStatusAttribute($val) {  
   reutrn $val . ' Status';  
}  

public function getFirstNameAttribute($val) {  
   return 'User is '.$val;  
}  

当我使用elequent进程获取数据时,系统将这些值返回为空白。

如果我根据“Laravel Naming Convention”重命名列名,那么它会给我正确的结果。

我不知道这里究竟是什么问题。请有人可以分享您的解决方案来解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

直接访问字段。

public function getStatusAttribute()
{
    return $this->Status . ' Status';
}

public function getFirstNameAttribute()
{
    return 'User is ' . $this->FirstName;
}

将其添加到模型中,以便每次都附加这些字段。

protected $appends = [
    'status', 'first_name',
];