年度归档: 2022 年
-
针对 GraphQL API 响应报错提示预期 URL 类型却接收到空字符串的问题,通过打印对象发现其值为空字符串。经排查,该字段允许为 null 但对空字符串会执行 URL 规则验证。最终将值设置为 null 或符合规则的 http 开头字符串后,验证不再报错。
-
在 GraphQL API 开发中遇到了字段冲突报错,提示 default 字段存在 Float! 和 Boolean! 类型冲突。经排查,原因在于接口实现中 ThemeSettingRange 和 ThemeSettingCheckbox 的 default 字段类型不同,且在同一选择集中使用了内联片段进行查询。根据规范,同名或同别名字段必须返回相同类型。参考官方 issue,使用字段别名可以解决此问题,但这会增加客户端的解析难度。
-
本文记录了尝试在 Laravel 6 及 Module 中将本地化翻译文件从 PHP 格式转换为 JSON 格式的过程。作者通过修改服务提供者的 registerTranslations() 方法来引用 JSON 文件,并确认了 PHP 文件的优先级高于 JSON 文件。尽管调整了相关代码并验证了区域设置,翻译功能最终未能正常工作,因此决定放弃此实现。
-
针对PHP 7.4中使用ltrim函数删除字符串开头字符时,导致下划线前字符串丢失的问题进行排查。发现原因在于第二个参数末尾包含斜杠,导致函数将下划线也视为需删除的字符。调整参数去掉末尾斜杠后,ltrim虽能返回预期结果,但最终决定改用substr函数来实现字符串截取,确保逻辑稳定且结果符合预期。
-
本文介绍了在 Laravel 6 中实现 MySQL 表 UUID 类型字段的操作过程。通过数据库迁移添加了 char(36) 类型的字段并建立索引,在模型构造方法中使用 Str::orderedUuid() 方法设置值以利用排序功能。操作过程中遇到了批量赋值错误,通过在模型中设置相应属性为可批量赋值解决了问题,最终生成的 SQL 符合预期。
-
执行 SQL 语句时报错 1093,提示不能在 FROM 子句中指定目标表进行更新。参考 MySQL 官方文档得知,在 MySQL 中无法修改 SELECT 部分使用的同一个表。解决方法是将表连接到自身,使 MySQL 将表视为两个不同的事物,从而允许执行破坏性更改操作。
-
执行 php artisan config:clear 时报错,提示无法打开指定流,原因是目标模块目录已被重命名。经排查,/config/app.php 的 providers 中仍注册了旧的类名路径。删除该配置项后,再次运行 composer install 和 php artisan config:clear 命令,皆成功执行,问题得以解决。
-
针对在 PhpStorm 中将 JSON 格式代码粘贴至 PHP 文件时格式丢失的问题,可以通过使用右键菜单中的复制与粘贴特殊功能解决。具体操作是在 PHP 文件中右键并选择复制或粘贴特殊下的粘贴为纯文本选项。执行该操作后,粘贴的内容将保持原有的 JSON 格式,从而避免了格式错乱。
-
针对已推送到 GitLab 且不符合约定式提交规范的说明,文章介绍了使用 git commit –amend 命令在文本编辑器中修改本地提交消息,随后利用 push –force-withlease 命令进行强制推送的完整过程,最终验证了提交说明已成功增加 feat: 前缀。
