laravel-admin 的 表单允许字段为空小改

laravel 版本 6.5.2

laravel-admin 版本 1.5

 

laravel-admin 的如果想要某个字段不填就提交的话,官方文档上是这么写的

但是,有些字段就是选填的啊,也不想把数据库对应的字段设置为null,查的时候麻烦,下面小改一下

1,我这里对应的是这个资源控制器

$router->resource('resources', ResourceController::class);

2,所以,当表单提交的时候,默认是提交到了store方法,这个方法在下面的路径中

vendor/encore/laravel-admin/src/Controllers/HasResourceActions.php

//就这么3行
public function store()
{
    return $this->form()->store();
}

3,上面的代码,调用了下面这个类的store方法,这个方法代码太多,只贴部分代码

vendor/encore/laravel-admin/src/Form.php

DB::transaction(function(){
    $inserts = $this->prepareInsert($this->updates);

    foreach ($inserts as $column => $value) {
        //就是用这个方法,给model设置要保存的字段
        $this->model->setAttribute($column, $value);
    }

    $this->model->save();

    $this->updateRelation($this->relations);
});

4,上面的setAttribute方法,在下面这个文件里

vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasAttributes.php

只要在setAttribute方法里加上这3行,就搞定了

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值