Laravel 表单请求验证实践

在项目中使用了laravel的表单验证组件,因为没有打印出错误信息,所以一直是请求302却找不到原因,重新阅读文档后,终于找到了302返回当前页的原因。

表单请求验证(FormRequest)的工作机制,是利用 Laravel 提供的依赖注入功能,在控制器方法,如上面我们的 update() 方法声明中,传参 UserRequest。这将触发表单请求类的自动验证机制,验证发生在 UserRequest 中,并使用此文件中方法 rules() 定制的规则,只有当验证通过时,才会执行 控制器 update() 方法中的代码。否则抛出异常,并重定向至上一个页面,附带验证失败的信息。

Laravel 查询器orWhere使用

之前做开发的过程中,一直在使用原生的sql,在接触laravel框架之后,开始使用laravel 的数据库查询构造器,一些常用的查询语句如select()、where等都比较好理解,但是今天在使用or条件查询时遇到了问题,没有办法将两个or条件进行内部关联,所以在百度之后找到了解决方案,使用闭包的方式。

$query->where(function ($query) use (参数1) {
        $query->where('字段1',参数1)->orWhere('字段2', '=',参数1;
    });
}

上述写法等同于

where (条件1 or 条件2)

由此即可完成需求

BIGINT UNSIGNED value is out of range 报错解决

今天在进行数据分析时,遇到了一个小坑,当两个字段相减运算时,如果其中一个或两个字段的类型的unsigned无符号类型,且结果值小于0测绘出现下列报错。

BIGINT UNSIGNED value is out of range in ‘(`refund`.`ctime` – `refund`.`atime`)

解决方案和思路如下:

一、修改字段类型

二、使用cast函数转字段为signed类型

select cast(字段1 as signed) – cast(字段2 as signed)

问题解决。

mysql 无法远程连接与访问 问题解答

这几天在业余时间研究了一个新的web后台框架”fastadmin”,线下使用时没有太多问题,在线上部署调试时发生了数据库连接超时的问题。通过百度、谷歌和排查之后,终于将问题解决。在此过程中我做了如下操作。

1.基于mysql配置层面:

继续阅读mysql 无法远程连接与访问 问题解答

30分钟了解正则

转自 作者:deerchao

本文目标

30分钟内让你明白正则表达式是什么,并对它有一些基本的了解,让你可以在自己的程序或网页里使用它。

如何使用本教程

最重要的是——请给我30分钟,如果你没有使用正则表达式的经验,请不要试图在30内入门——除非你是超人 🙂

继续阅读30分钟了解正则

微信支付错误码curl 58 问题解决

最近开始做微信支付相关的操作,但是在使用官方的demo和sdk中出现了问题,curl报错58,网上的大多数解决方案证书的路径应使用绝对地址。但是我在操作后仍出现错误,通过断点排查。发现问题主要出在php-curl拓展上。

因为curl的ssl证书协议不是openssl的所以报58错误, 所以再重新安装php-curl拓展后解决这一问题。

关于我近期的生活

时间很快,不知不觉我已在上海这座城市经历了几个月的时光。我从一名大学生顺利入职,成为了公司的一员,从实习到转正再到带新的实习生。自己在技术上慢慢的进步,但我同时也知道要有很长的一段路要走。工作越来越忙,博客一直没有时间去更新维护,之间也发生了一次因服务切换的博客数据丢失,不过还好,最后我还是找到了原来的文字数据。