Laravel Eloquent 方法 update($arr) 和 save($arr) 不生效

这是一个很奇葩问题,并且也困扰了我很久。之前遇到过一次,但当时似乎好像也没有解决,这次接入新的设备再次发现了,总算有时间来论证一番了。问题比较简单,就是 Laravel 更新模型数据 update 时,字段未更新,但返回 true;听同事的改成 save 也是一样不起作用。# 简化逻辑之后的 demo $box = Box::find($id); if ($box->update([

在 Mac 上使用 cron 服务来实现 Laravel 项目任务调度

在查看 Laravel 任务调度文档 本地运行调度程序 时,发现 Laravel 框架提供了一个任务调度运行指令:该命令将在前台运行,并每分钟调用一次调度程序,直到你终止该命令为止# 项目目录下执行 ~ php artisan schedule:work INFO Running scheduled tasks every minute. 2023-10-20 16:06:00 Ru

Mac 下 iTerm 执行 Laravel 安装指令报错:zsh: no matches found: 9.*

Laravel 安装指令:composer create-project --prefer-dist laravel/laravel 项目名称 9.*如果去掉版本号,是可以正常安装的。提示中有 zsh,猜测是这个脚本的问题。百度到修复方案:在终端(terminal 或 iTerm)中输入 vim ~/.zshrc在 vim 中末尾输入 setopt no_nomatch 后 按 esc 键 然后输

Laravel 向公共模板中添加公共变量

使用场景如自定义的 header 中需要做 SEO 相关的标题,关键词、描述,导航内容,底栏 footer 公司信息、联系方式等。这些信息内容因为属于公共部分,被拆分成 header、footer 等公共模板,如果不需要修改还好,如果想要在后台定义修改,则需要对这些公共模板携带对应数据。使用方法因为数据只传递一次在所有页面都可用,所以,只要在调用 view 页面模版时带入数据,即可直接使用。当然可

Laravel 5.2 修改或者关闭 update_at 和 created_at

Laravel(Ler-eh-vel) 默认是需要在创建表的时候包含 created_at(创建时间)和 updated_at(更新时间)的,当然,可以通过增加 public $timestamps = false; 取消模型被戳记时间,即不需要这两个表字段。遇到一种记录表,并不需要更新时间字段。网上找到 laravel7 修改或者关闭 update_at 和 created_at,提到可以重写

Laravel Sail 启动失败:`tee: /etc/apt/keyrings/ppa_ondrej_php.gpg: No such file or directory`

Laravel Sail 依赖于 docker 给 laravel 本地化开发提供了一个开发环境。它在 laravel 高版本里是默认安装的。执行 php artisan sail:install 会生成一个 docker-composer.yml 文件,默认选择安装的项为 mysql,之后可以根据需求安装 redis 等。在启动 Sail 时,会根据 docker-composer.yml 文件

laravel 10 安装 redis 相关包报错: Class "Redis" not found

在先尝试安装 laravel/telescope 时,报错:Class "Redis" not foundat vendor/laravel/framework/src/Illuminate/Redis/Connectors/PhpRedisConnector.php:81一开始以为是没有安装 Redis 扩展,结果安装 predis/predis(Redis 扩展)也是报的这个错误。发生环境:p

mac 下运行 `php artisan migrate` 报错:SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Name or service not known

如题,在使用 docker 搭建了 mac 下的部署环境后,在本地运行 php artisan migrate 执行数据库迁移操作时报错:本地使用 brew 安装了 php,因为需要一些命令行指令操作,如安装依赖、执行定时任务,以及数据库迁移等。网上找到 解决方法,里面提到两个方面可能存在的问题:关闭防火墙查看访问的连接,是不是没有配置到 /etc/hosts第一种要关闭本地防火墙,在设置里找到安