1. 程式人生 > >laravel-admin form中的switch控制元件 不改變狀態提交後值為0

laravel-admin form中的switch控制元件 不改變狀態提交後值為0

我把一個欄位設預設值為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