为什么不能在GridView中更改值?

亚历山大·科洛夫斯基(Alexander Kolovsky)

尝试将输入值替换为“用户”表列状态为“已阻止”(如果该值等于0且为活动状态,如果为“ 10”)。

 GridView::widget([
    'dataProvider' => $dataProvider,
    'filterModel' => $searchModel,
    'columns' => [
        ['class' => 'yii\grid\SerialColumn'],
        'username',
        'email:email',
        'status',
            'value' => function ($model){
                    return $model->status==10 ? "Active":"Blocked";
                },


        ['class' => 'yii\grid\ActionColumn'],
    ],
]);

但是显示错误:array_merge():参数2不是数组我在做什么错,请告诉我

阿罗加切夫

属性status应这样声明:

[
    'attribute' => 'status',
    'value' => function ($model) {
         return $model->status == 10 ? 'Active' : 'Blocked';
    },
],

因此整个GridView将如下所示:

<?= GridView::widget([
    'dataProvider' => $dataProvider,
    'filterModel' => $searchModel,
    'columns' => [
        ['class' => 'yii\grid\SerialColumn'],
        'username',
        'email:email',
        [        
            'attribute' => 'status',
            'value' => function ($model) {
                return $model->status == 10 ? 'Active' : 'Blocked';
            },
        ],
        ['class' => 'yii\grid\ActionColumn'],
    ],
]) ?>

但是建议使用另一种方法。

放置在模型中:

const STATUS_BLOCKED = 0;

const STATUS_ACTIVE = 10;

/**
 * @return array
 */
public static function getStatusesList()
{
    return [
        self::STATUS_BLOCKED => 'Blocked',
        self::STATUS_ACTIVE => 'Active',
    ];
}

/**
 * @return string
 */
public function getStatusLabel()
{
    return static::getStatusesList()[$this->status];
}

现在,您可以将您的关闭内容替换为:

return $model->getStatusLabel();

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么不能在GridView中更改值?

来自分类Dev

为什么我不能在React中更改输入值?

来自分类Dev

为什么我不能在WatchKit中更改全局变量的值-Swift?

来自分类Dev

为什么我不能在Timer.scheduledTimer函数中更改变量的值?

来自分类Dev

为什么我不能在C ++中更改多维char数组的值?

来自分类Dev

为什么我们不能在python中更改字符串的特定值

来自分类Dev

为什么我不能在Python中更改类的属性

来自分类Dev

为什么不能在drawRect中更改UIView背景颜色?

来自分类Dev

为什么我不能在iOS中更改按钮标题

来自分类Dev

为什么不能在Angular中更改参数名称

来自分类Dev

为什么我不能在Notepad ++中更改文本背景

来自分类Dev

为什么不能在单独的过程中更改目录?

来自分类Dev

为什么我不能在xcode中设置属性的值?

来自分类Dev

为什么不能在语义操作中访问该值?

来自分类Dev

为什么不能在GHC中定义:=?

来自分类Dev

我不能在管道右侧更改line_count的值,为什么?

来自分类Dev

为什么我不能在`set <set <int >>`循环中更改值

来自分类Dev

为什么不能在Kubernetes中将imagePullPolicy更改为Always以外的其他值

来自分类Dev

我不能在管道右侧更改line_count的值,为什么?

来自分类Dev

为什么我不能在if-then语句中更改变量的值?

来自分类Dev

为什么不能在IronPython中更改缓存模块中的变量?

来自分类Dev

为什么不能在IronPython中更改缓存模块中的变量?

来自分类Dev

为什么@interface中声明的变量中的值不能在XCTest中的方法之间保留?

来自分类Dev

为什么我不能在Swift中更改视图的框架大小?

来自分类Dev

为什么我不能在PHP中更改日期格式

来自分类Dev

为什么不能在颤动中更改凸起按钮的宽度和高度属性?

来自分类Dev

为什么不能在IE8中更改选择选项样式?

来自分类Dev

为什么不能在属性观察器didSet中更改Swift Array?

来自分类Dev

为什么我不能在选择元素中更改插入符号的颜色

Related 相关文章

  1. 1

    为什么不能在GridView中更改值?

  2. 2

    为什么我不能在React中更改输入值?

  3. 3

    为什么我不能在WatchKit中更改全局变量的值-Swift?

  4. 4

    为什么我不能在Timer.scheduledTimer函数中更改变量的值?

  5. 5

    为什么我不能在C ++中更改多维char数组的值?

  6. 6

    为什么我们不能在python中更改字符串的特定值

  7. 7

    为什么我不能在Python中更改类的属性

  8. 8

    为什么不能在drawRect中更改UIView背景颜色?

  9. 9

    为什么我不能在iOS中更改按钮标题

  10. 10

    为什么不能在Angular中更改参数名称

  11. 11

    为什么我不能在Notepad ++中更改文本背景

  12. 12

    为什么不能在单独的过程中更改目录?

  13. 13

    为什么我不能在xcode中设置属性的值?

  14. 14

    为什么不能在语义操作中访问该值?

  15. 15

    为什么不能在GHC中定义:=?

  16. 16

    我不能在管道右侧更改line_count的值,为什么?

  17. 17

    为什么我不能在`set <set <int >>`循环中更改值

  18. 18

    为什么不能在Kubernetes中将imagePullPolicy更改为Always以外的其他值

  19. 19

    我不能在管道右侧更改line_count的值,为什么?

  20. 20

    为什么我不能在if-then语句中更改变量的值?

  21. 21

    为什么不能在IronPython中更改缓存模块中的变量?

  22. 22

    为什么不能在IronPython中更改缓存模块中的变量?

  23. 23

    为什么@interface中声明的变量中的值不能在XCTest中的方法之间保留?

  24. 24

    为什么我不能在Swift中更改视图的框架大小?

  25. 25

    为什么我不能在PHP中更改日期格式

  26. 26

    为什么不能在颤动中更改凸起按钮的宽度和高度属性?

  27. 27

    为什么不能在IE8中更改选择选项样式?

  28. 28

    为什么不能在属性观察器didSet中更改Swift Array?

  29. 29

    为什么我不能在选择元素中更改插入符号的颜色

热门标签

归档