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