有大量的表单是文本,因为要手写,字段是int 默认null,可以不填。
插入的时候不填就会传入'' 报错,因为有大量的这种字段,在哪里处理比较好?
有大量的表单是文本,因为要手写,字段是int 默认null,可以不填。
插入的时候不填就会传入'' 报错,因为有大量的这种字段,在哪里处理比较好?
在需要录入的文本赋值给对象字段是用三元运算符可以不例如我的做法是$goods->is_sales = ($request->input('is_sales')=='是')?1:0;
1 回答4.1k 阅读✓ 已解决
3 回答1.9k 阅读✓ 已解决
2 回答2.2k 阅读✓ 已解决
2 回答2.2k 阅读
1 回答1.4k 阅读✓ 已解决
799 阅读
650 阅读
有两种方法供你选择:
使用Laravel集合的
map
方法。该方法适用于单个表单。使用中间件。该方法适用于有多个表单
单个表单
可以使用集合的map方法进行过滤,然后使用得到的
$params
进行操作。关于里面函数的具体意义请参考官方文档。
多个表单
首先推荐看一下官方文档。
其实也是使用了上面的代码进行过滤,不过这是在中间件中进行的,只要在需要进行过滤的路由中使用这个中间件即可做到,这样无需再每一个Controller中写一遍了。
先用
php artisan make:middleware RejectEmptyValues
命令创建一个中间件。此命令将会在
app/Http/Middleware
目录内设定一个名称为RejectEmptyValues
的类。修改
RejectEmptyValues
的代码注册中间件,在
app/Http/Kernel.php
文件的$routeMiddleware
中加入一行使用中间件示例,