月度归档: 2022 年 6 月
-
针对在 Windows 10 环境下使用 Git 2.34 和 TortoiseGit 2.13 时,目录小写改大写无法提交的问题,分析发现是配置项 ignorecase 为 true 所致。将其设置为 false 后提交虽显示变更,但 GitLab 上会出现重名目录。最终通过先删除小写目录、再添加大写目录的方式提交,成功实现了仅保留大写目录的重命名效果。
-
文章解决 Laravel 6 结合 Lighthouse 5 和 nwidart/laravel-modules 7 使用时出现的容器绑定解析异常。排查过程包括修改 GraphQL 文件、检查解析器构造函数及服务提供者注册,并通过调整模块目录名和执行 Composer 安装进行测试。最终发现服务提供者虽实现延迟加载接口但未实现 provides 方法,导致服务未在缓存中正确注册,删除延迟加载实现后程序恢复正常运行。
-
在 Lighthouse 5 中遇到报错提示无法在指定命名空间下找到 CreateThemeAssetInputValidator 类。确认该类文件已迁移至 Modules\ThemeStoreGraphQl\Validators\ThemeAsset 路径后,将指令 @validator 中的类路径调整为 Modules\ThemeStoreGraphQl\Validators\ThemeAsset\CreateThemeAssetInputValidator,问题解决,不再报错。
-
在 Laravel 6 中遍历模型对象时,直接赋值属性后未生效,经排查发现是模型文件中的设置导致值被覆盖。最终解决方案是在查询列表时使用 toArray 方法,将对象转换为数组后再进行遍历赋值,查看响应结果显示结果符合预期。
-
本文记录了在 Laravel 6 中将打印出的 SQL 复制到 MySQL 5.7 执行时结果不一致的问题。程序查询返回 79 条数据,而数据库直接执行返回 81 条。排查发现 whereRaw 语句中的参数绑定存在差异,通过将 SQL 改为原生形式,或者使用 addslashes 对反斜杠进行转义,最终使程序执行结果变为 81 条,与数据库执行结果一致。
-
本文解决 Laravel 6 中单例绑定导致配置更新后实例未同步的问题。文章指出 singleton 方法绑定后在后续调用中返回相同对象,致使运行时报错且实例类型不符合预期。通过在中间件中使用 forgetInstance 从实例缓存中移除已解析的实例并重新注册,最终打印出的实例类型由 DbViewStorage 变更为 FileViewStorage,成功符合预期。
-
本文介绍了在 Laravel 6 中调整 Eloquent 集合 API 响应结构的方法。针对现有接口中 theme_installation 字段包含过多嵌套数据的问题,文章通过修改代码逻辑,将其中的特定字段提升至第一层级与 id 平级,并移除了原有的 theme_installation 节点。最终实现的响应结构符合预期,成功优化了数据的嵌套层级。
-
本文记录了在 Laravel 6 中解决跨数据库连接模型关联报错的过程。针对查询时报错提示表不存在的问题,经排查发现目标表位于不同数据库的连接中。通过在 Theme 和 ThemeInstallation 两个模型的关联定义中,分别显式设置对方模型所在的数据库连接,成功实现了跨数据库的模型关联查询,最终能正确获取数据或返回 NULL。
-
本文介绍在 TortoiseGit 中使用 git cherry-pick 将分支 A 的提交摘取至分支 B 的操作流程。主要步骤包括切换分支、选择源分支和提交 ID、处理冲突及提交。文章详细说明了遇到冲突时如何使用提交 ID 解决或手动编辑文件,以及在处理空提交和合并提交时的选择方法,最终通过覆盖推送完成操作。
