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



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

使用Eloquent访问者&突变体。

定义一个状态数组,并使用数据库中的状态号作为键来更改模型中的值,以便在视图中{{ $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'

最新更新