通常我使用整数作为状态,类型等字段......
示例:1 =有效,2 =已取消
但是我总是找到将这些数据格式化为字符串的地方,用于POST和GET请求。
不得不在客户端做到这一点,我认为这不是一个好方法。
所以我想到了使用Accessors和Mutators。
按照我的方式进行操作
public function getStatusAttribute($value)
{
switch ($value) {
case 1:
return 'Active';
break;
case 2:
return 'Canceled';
break;
}
}
public function setStatusAttribute($value)
{
switch ($value) {
case 'Active':
return $this->attributes['status'] = 1;
break;
case 'Canceled':
return $this->attributes['status'] = 2;
break;
}
}
我想知道这是否是最佳方法,因为我必须在每个模型中执行此操作。或者你有更好的方法吗?
谢谢!
答案 0 :(得分:0)
答案 1 :(得分:0)
解决方案:
public function getStatusAttribute($value)
{
foreach ($this->status as $key => $item) {
if ($item == $value) {
return $key;
}
}
}
public function setStatusAttribute($value)
{
foreach ($this->status as $key => $item) {
if ($key == $value) {
return $this->attributes['status'] = $item;
}
}
}