有没有办法为枚举值赋予别名?例如,我在users表中使用名为“status”的列,其枚举数据类型的值为“0,1”。 “0”值表示用户为“活动”,“1”值表示用户为“已暂停”。 我在这样的
中显示刀片模板中的数据{{$user->status}}
上面的代码将返回实际值“0”或“1”。如果状态为“0”,那么是否需要制作别名,那么数据将显示为“活动”而不是“0”?
答案 0 :(得分:1)
您可以使用Accessors。
为名为User
的{{1}}模型添加方法:
getStatusAttribute()
或者,如果您想保留原始状态属性并创建新属性,则可以执行以下操作:
public function getStatusAttribute($status)
{
return $status ? 'Suspended' : 'Active';
}
这将用作:
public function getStatusLabelAttribute()
{
return $this->status ? 'Suspended' : 'Active';
}
希望这有帮助!
答案 1 :(得分:0)
有很多方法可以实现这一目标。
实现此目的的一个简单(但硬编码方式)是在您的Eloquent类上创建accessor,如下所示:
public function getStatus()
{
$statuses = [
0 => 'Active',
1 => '....'
];
return $statuses[$this->status];
}
{{ $user->getStatus() }}
答案 2 :(得分:0)
您可以在用户模型上执行:
添加"有效"属性:
protected $appends = ["active"]
然后创建一个获取属性的方法:
public function getActiveAttribute(){
if($this->status) {
return 'Active';
}
return 'Suspended';
}
然后在您的视图中,您可以访问如下属性:
{{$user->active}}
答案 3 :(得分:0)
要做到这一点:
{{$user->status === 0 ? 'Active' : 'not-active?'}}
答案 4 :(得分:0)
您可以使用三元运算符来解决此问题, 例如:
ArrayList<String> urlList = getIntent().getStringArrayListExtra("intent_key");