摘要:
Laravel 默认使用utf8mb4字符编码,而不是的utf8编码。因此运行php artisan migrate会出现如下错误: 问题根源 MySql支持的utf8编码最大字符长度为3字节,如果遇到4字节的宽字符就会出现插入异常。三个字节UTF-8最大能编码的Unicode字符是0xffff,即 阅读全文
摘要:
所有支持的模型事件 在 Eloquent 模型类上进行查询、插入、更新、删除操作时,会触发相应的模型事件,不管你有没有监听它们。这些事件包括: 注:批量更新时不会触发相应事件,因为是直接走查询构建器完成的,绕过了模型方法。 通过监听这些事件,我们可以在 Eloquent 模型实例生命周期的特定阶段执 阅读全文
摘要:
全局作用域 所谓「全局作用域」,指的是预置过滤器在注册该「全局作用域」的模型类的所有查询中生效,不需要指定任何额外条件。 以 User 模型类为例,我们在系统中可能只想针对已经验证过邮箱的用户进行操作,在没有介绍「作用域」之前,可能你会在应用中到处编写这样的代码: 通过全局作用域类实现 要实现「全局 阅读全文