我的模型上有一个布尔列的访问器:
public function getActiveAttribute($value)
{
if ($value == 0) {
return "No";
} else {
return "Yes";
}
}
我遇到的问题是相应的表单输入,单选按钮,当我转到创建或编辑视图时,没有选择任何选项。我可以修改表单,使单选按钮的值为“是”和“否”,然后为同一个字段写一个mutator。
有更好的方法吗?
答案 0 :(得分:3)
您很可能只想保留现有的active
属性,这样您就可以访问原始值,但可以创建一个用于显示目的的访问器。
因此,将您的访问者重命名为getActiveYesNoAttribute()
,然后您的布尔值将显示为active
,而您的是/否将以active_yes_no
的形式提供。
class User extends Model
{
public function getActiveYesNoAttribute()
{
return $this->active ? "Yes" : "No";
}
}
用法:
$user = \App\User::first();
dd($user->active, $user->active_yes_no);