我创建了一个复选框输入作为Boolean类型,用于将值存储为盘算的-已选中或未选中。选中将存储1,未选中将存储0。
现在,我想在网格 View 和 View 中将标签显示为是或否表示值1和0。如何实现这一目标。
我的_form.php代码就像
$form->field($model, 'discharged')->checkBox(['label' => 'Discharged',
'uncheck' => '0', 'checked' => '1'])
我尝试过像
[
'attribute'=>'discharged',
'value'=> ['checked'=>'Yes','unchecked=>'no']
],
但看起来不正确的语法。
谢谢。
最佳答案
正如arogachev所说,您应该使用boolean formatter:
'discharged:boolean',
http://www.yiiframework.com/doc-2.0/guide-output-formatter.html
http://www.yiiframework.com/doc-2.0/yii-i18n-formatter.html#asBoolean()-detail
或者,您可以在模型中添加
getDischargedLabel()
函数:public function getDischargedLabel()
{
return $this->discharged ? 'Yes' : 'No';
}
在您的gridview中:
[
'attribute'=>'discharged',
'value'=> 'dischargedLabel',
],