Laravel 如何为枚举值指定别名?
有没有给枚举值指定别名的方法?例如,我在users表中有一个名为“status”的列,其枚举数据类型的值为“0,1”。“0”表示用户处于“活动”状态,“1”表示用户处于“暂停”状态。 我在刀片模板中显示数据,如下所示Laravel 如何为枚举值指定别名?,laravel,laravel-5,Laravel,Laravel 5,有没有给枚举值指定别名的方法?例如,我在users表中有一个名为“status”的列,其枚举数据类型的值为“0,1”。“0”表示用户处于“活动”状态,“1”表示用户处于“暂停”状态。 我在刀片模板中显示数据,如下所示 {{$user->status}} 上述代码将返回实际值,即“0”或“1”。如果状态为“0”,那么数据将显示为“活动”而不是“0”?有很多方法可以实现这一点 实现这一点的一个简单(但硬编码的方法)是在你的雄辩课堂上创建一个 public function getStatus
{{$user->status}}
上述代码将返回实际值,即“0”或“1”。如果状态为“0”,那么数据将显示为“活动”而不是“0”?有很多方法可以实现这一点 实现这一点的一个简单(但硬编码的方法)是在你的雄辩课堂上创建一个
public function getStatus()
{
$statuses = [
0 => 'Active',
1 => '....'
];
return $statuses[$this->status];
}
{{$user->getStatus()}
您可以在用户模型上执行以下操作:
添加“活动”属性:
protected $appends = ["active"]
public function getActiveAttribute(){
if($this->status) {
return 'Active';
}
return 'Suspended';
}
然后创建获取属性的方法:
protected $appends = ["active"]
public function getActiveAttribute(){
if($this->status) {
return 'Active';
}
return 'Suspended';
}
然后在视图中,您可以访问如下属性:
{{$user->active}}
要做到这一点:
{{$user->status === 0 ? 'Active' : 'not-active?'}}
你可以用这个
向名为getStatusAttribute()
的用户
模型添加一个方法:
或者,如果要保留原始状态属性并创建新属性,可以执行以下操作:
public function getStatusLabelAttribute()
{
return $this->status ? 'Suspended' : 'Active';
}
这将被用作:
$user->status; //0 or 1
$user->status_label; //Active or Suspended
希望这有帮助 对于这个问题,可以使用三元运算符, 例如:
{{$user->status == 1 ? "Active" : "Suspended"}}
附属品会帮你的,看一看。