总结laravel框架使用过程踩过得那些坑儿

摘要:
3.当数据未更新时,update的返回结果使用update封装SQL来批量修改数据。如果没有更新结果,则返回0。使用update将数据传输到阵列。如果对单个修改数据没有特殊设置,则更新的数据将自动更新_ at字段,因此结果将始终返回14。上传文件类型larravel的表单验证中文件类型的后缀由mime类型确定。由于文件源不同,mime类型将处理具有不同结果的office文件,因此在使用它时需要小心。

1.表单验证Validate

使用表单验证发现不加required等强制条件的时候,其他限制条件对null有效,空串无效,如下图:

在这里插入图片描述

查阅其代码可以,对空串不验证

在这里插入图片描述

2.请求Request

当前端使用ajax传值,类型为json.如果传空值,
$request->post(),接受结果为空串,
request>all(),request->all(),request->input(),接受结果为null。如下图:

在这里插入图片描述
后来发现底层会对json会处理,过滤空串为null赋值给ParameterBag类的$parameters,input和all都直接取此值,post是通过request。

3.数据无更新时update的返回结果

使用update封装sql批量修改数据,无更新结果返回0,

使用update传数组,单条修改数据如无特殊设置,会自动更新updated_at字段,故结果永远返回1

4.上传文件类型

laravel的表单验证中文件类型的后缀名判断是通过mime类型,mime类型对办公文件的处理会由于文件来源等不同,结果不同,使用需慎重。

在这里插入图片描述

可通过修改magic文件改变结果

在这里插入图片描述
在这里插入图片描述

5.数据库的严格模式。

在config的database中如果配置了strict 为true会按照严格模式,如超出字段值长度会直接报错。

在这里插入图片描述

  protected function strictMode()
    {
        return "set session sql_mode='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'";
    }

在这里插入图片描述
6.最后一条是关于php的,??的作用相当于isset,对空串,0不起作用,切记

免责声明:文章转载自《总结laravel框架使用过程踩过得那些坑儿》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Godaddy Windows主机组件支持情况性能测试分析监控常见方法介绍下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

MongoDB批量更新和批量插入的方式

最近,在调试代码中发现向MongoDB插入或者更新文档记录时若是多条的话都是采用for循环操作的,这样的处理方式会造成数据操作耗时,不符合批量处理的原则;对此,个人整理了一下有关MongoDB的批量更新和批量插入的操作流程,如下所示: @Autowired privateMongoTemplate mongoTemplate; (1)批量插入示例如下: L...

订单减库存设计

$goods->query('update order set  = store- num where  store>=num and goodID = 12345'); $goods->query('update order set  = store- num where  store>=num and goodID = 123...

最新Cocoapods 安装及使用

1.移除现有Ruby默认源 gem sources --remove https://rubygems.org/ 2.使用新的源 gem sources -a https://ruby.taobao.org/ 3.验证新源是否替换成功 gem sources -l 4.安装CocoaPods (1) sudo gem install cocoapods 备...

Spring Data MongoDB 四:基本文档改动(update)(一)

Spring Data MongoDB 三:基本文档查询(Query、BasicQuery)(一) 学习MongoDB 二:MongoDB加入、删除、改动 一.简单介绍Spring Data MongoDB提供了org.springframework.data.mongodb.core.MongoTemplate对MongoDB的update的操作,能够...

数据库触发器inserted和deleted详解

create trigger updateDeleteTimeon userfor updateasbegin  update user set UpdateTime=(getdate()) from user inner join inserted on user.UID=Inserted.UIDend 上面的例子是在执行更新操作的时候同时更新,...

ubuntu下jdk的安装

ubuntu 安装jdk 的两种方式: 1:通过ppa(源) 方式安装. 2:通过官网下载安装包安装. 这里推荐第1种,因为可以通过 apt-get upgrade 方式方便获得jdk的升级 1.使用ppa/源方式安装 1.添加ppa sudo add-apt-repository ppa:webupd8team/java sudo apt-get up...