事务事件捕获 你大概已经习惯用 DB::transaction() 来保证数据一致性,对吧?Laravel 现在在事务工具箱里塞进了一个新帮手 afterRollback()。它会在事务失败时自动触发,让你不需要额外写 try-catch 就能处理清理、记录日志或发送通知等动作。 use Illum…
有时您可能需要执行几个相互独立的慢任务。在许多情况下,通过并发执行任务可以实现显著的性能提升。Laravel 的 Concurrency 门面提供了一个简单、方便的 API,用于并发执行闭包。 工作原理 Laravel 通过序列化给定的闭包并将其分派到一个隐藏的 Artisan CLI 命令来实现并…
起因 laravel 10 的安全修复截止至 2025日2月4日,需要升级到 11 版本。 Laravel 11 常用的时间处理包进行了依赖升级,Carbon 2和3都支持,但是如果不在 compsoer.json 中指定依赖版本会默认依赖 Carbon 3 ,Carbon 2 和 3 做了极大的功…
/** * Lock the selected rows in the table for updating. * 悲观锁 锁住后读改阻塞 * @return $this */ public function lockForUpdate() { return $this->lock(true)…
关于 Model appends class User extends Model { protected $appends = ['is_adult']; public function getIsAdultAttribute() { return $this->attrib…
简介 Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。它是通过 fork/exec 的方式把这些被管理的进程当作supervisor的子进程来启动,这样只要在 supervisor 的配置文件中,把…
Laravel中模型中可以定义scope开头方法,这类方法可以通过模型直接调用。这类方法也称作查询作用域。 现在咱们两个方法 /** * 找寻小萝莉 */ public function getLolita() { return $this->where('sex', …
先晒版本 事情起因 系统要引进阿里云的日志系统,去github上淘了一些包,于是选择了这个。 composer require wppd/aliyun-log-php-sdk 于是报了这个错,显示Log的命名重复了。 解决思路 定位Log的命名与服务注册中的Log重名,想办法把服务注册的命名改名。先…
append class User extends Model { protected $appends = ['is_adult']; public function getIsAdultAttribute() { return $this->attribute[…
问题出现的原因MySQL 5.7.5及以上功能依赖检测功能。如果启用了ONLY_FULL_GROUP_BY SQL模式(默认情况下),MySQL将拒绝选择列表,HAVING条件或ORDER BY列表的查询引用在GROUP BY子句中既未命名的非集合列,也不在功能上依赖于它们。(5.7.5之前,MyS…