Dcat Admin编辑saving事件修改boolean字段不生效?

Report 模型文件

protected $fillable = [
    'title',
    'summary',
    'total_page',
    'generated_at',
    'is_show',
    'is_top',
    'review_count',
];

protected $casts = [
    'generated_at' => 'datetime',
    'is_show' => 'boolean',
];

ReportController 文件

protected function form()
{
    return Form::make(new Report(), function (Form $form) {
    $form->text('title')->required()->rules('required|max:255');
    $form->textarea('summary')->rows(5)->required();
    $form->radio('is_show')->default(false);
    $form->switch('is_top')->default(false);
    $form->text('review_count')->default(0)->readOnly();
    $form->datetime('created_at')->default(now());
    $form->hidden('admin_user_id');
    $form->hidden('total_page');
    $form->hidden('generated_at');

    $form->disableDeleteButton();
    $form->disableCreatingCheck();
    $form->disableEditingCheck();
    $form->disableViewCheck();

$form->saving(function (Form $form) {
    if($form->isCreating()) {
        //  后台管理员admin_user_id
        $form->admin_user_id = Admin::user()->id;
    }else {
        $form->admin_user_id = $form->model()->admin_user_id;
        //  判断报告文件是否有修改
        if($form->file_path != $form->model()->file_path) {
            $form->total_page = null;
            $form->generated_at = null;
            $form->is_show = false;
        }
    }
});
});
}

提交后 hidden 字段 total_pagegenerated_at 可以更新,但是 is_show 字段无法更新,尝试更新 review_count 发现也是可以更新,那么肯能是 boolean 字段的问题,有人遇到过吗?

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
讨论数量: 4

没选中吧,如果 radio 不选择,是不传输这个字段的,也就不会更新,你可以看一下传递的参数

2年前 评论
ljheisenberg (楼主) 2年前

casts 定义了 'is_show' => 'boolean', 当 is_show false 你在修改的时候 没有任何参数返回 则不会被选中;只有 true 的时候才会被选中

2年前 评论

你的问题应该是 把这个删除就可以了 'is_show' => 'boolean',

2年前 评论