laravel-admin form中的switch控件 不改变状态提交后值为0

在laravel-admin中遇到一个情况,当使用switch控件时,如果未改变状态,提交后的值会显示为0。为了解决这个问题,确保默认提交时状态值为1(代表通过审核),需要在模型的保存回调中做处理,自动将值从0改为1,从而实现不操作即通过的效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我的个人博客:逐步前行STEP

我把一个字段设默认值为0 需要审核操作 通过设为1 不通过设为2

$states = [
                'on'  => ['value' => 1, 'text' => '通过', 'color' => 'success'],
                'off' => ['value' => 2, 'text' => '不通过', 'color' => 'danger'],
            ];

使用switch控件,不改变状态时显示为通过,但实际提交状态值为0

为了达到默认执行审核通过的效果,需在模型的保存回调中对状态值0进行修改:

public static function boot()
    {
        parent::boot();
        static::saving(function ($model) {
	        //修改状态值
            if($model->shelf_status == 0){
                $model->shelf_status = 1;
            }
        });
    }

这样不操作switch,默认提交的状态值为1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

闲敲代码、落灯花

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值