如何显示文本而不是布尔值 (Yii2)?

所以我有这个表格来创建一个工作角色,我需要显示这个工作角色是活跃的还是休眠的。我使用布尔值 0 和 1 来表示休眠和活动。这是我在表单视图 (form.php) 中的代码。


<?= $form->field($model, 'status')->dropDownList(['1' => 'Active', '0' => 'Dormant'], ['prompt'=>'Select Option']) ?>

在我的模型(Application.php)中,我添加了这个功能


public function getStatusLabel() 

    {

        return $this->status ? 'Active' : 'Dormant';

    }

然后在我的 index.php 视图中添加显示活动/休眠。


<?= GridView::widget([

        'dataProvider' => $dataProvider,

        'filterModel' => $searchModel,

        'columns' => [

            ['class' => 'yii\grid\SerialColumn'], 

            [

                'attribute' => 'Status',

                'value' => 'statusLabel', 

            ],

到目前为止一切正常。唯一的问题是在我的 view.php(查看每个添加的应用程序)中,状态仍然显示 1 和 0。如何在我的 view.php 中也显示活动/休眠?


Cats萌萌
浏览 111回答 1
1回答

绝地无双

您可以将其传递给这样的函数:<?= GridView::widget([&nbsp; &nbsp; 'dataProvider' => $dataProvider,&nbsp; &nbsp; 'filterModel' => $searchModel,&nbsp; &nbsp; 'columns' => [&nbsp; &nbsp; &nbsp; &nbsp; ['class' => 'yii\grid\SerialColumn'],&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; [&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 'attribute' => 'Status',&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 'value' => function ($data) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return $data->getStatusLabel();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; },&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; ],
打开App,查看更多内容
随时随地看视频慕课网APP