Laravel - 将数据库整数转换为关联的字符串

时间:2014-09-29 17:58:31

标签: laravel-4

我的users表中有一个名为status的列。在本专栏中,我只根据其状态存储一个数字,1 - admin,2 - owner等。我知道我可以使用{{ users->status }}显示这些值,但只显示存储的数字。如何显示实际名称而不是存储的数字?

1 个答案:

答案 0 :(得分:3)

使用Eloquent Accessors & Mutators

定义一组状态,并使用数据库中的状态编号作为关键来更改模型中的值,以便在视图中{{ $users->status }}等于admin

class User extends Eloquent {

    protected $statuses = array(
        '1' => 'admin',
        '2' => 'owner'
    );

    public function getStatusAttribute($value)
    {
        return $this->statuses[$value];
    }

}
  • getStatusAttribute在检索记录时将1转换为admin

<小时/> 当记录存储在模型中时,您还可以使用set方法。

在视图中 {{ $user->status }} // echos 'admin'