月度归档: 2022 年 12 月
-
遇到Uncaught SyntaxError错误,参考JavaScript模块文档,在script标签中添加type=”module”解决。直接使用file协议访问时因CORS策略被阻止,需通过本地服务器运行。随后出现ReferenceError,虽能正常输出但仍有报错。最后将html中的JavaScript代码移动至statement.js文件内,彻底解决了报错问题。
-
本文介绍了在 Laravel 6 中实现模型自关联的方法,针对数据表中 original_theme_id 与 theme_id 字段的关联需求,通过在模型中定义一对一的反向关联关系,实现了对同一条记录中关联数据的获取。文章展示了具体的代码实现、生成的 SQL 语句以及最终打印结果,验证了该方案能够正确读取源自同表另一条记录的数据,符合预期逻辑。
-
针对MySQL 5.7中存储为数组格式的JSON类型字段,文章介绍了在Laravel 6中使用whereJsonContains方法进行查询的实现过程。通过参考Laravel官方文档,编写了查询代码并执行,最终打印出的查询结果符合预期,生成的SQL语句也能正确检索包含特定值的JSON数据。
-
在 Laravel 6 执行数据库迁移更新字段属性时,系统提示 Doctrine\DBAL\Exception 错误,声称不支持的 enum 类型。经排查,迁移文件中待更新的字段并非 enum 类型,但该表的其他字段使用了 enum。参考相关资料,使用 DB::statement 方法替代常规更改操作,执行迁移成功解决了此问题。
-
在学习《重构:改善既有代码的设计 (第2版)》时,发现 statement 函数末尾缺少右括号导致代码格式显示问题,起初误以为原文漏写。在阅读大量嵌套函数重构章节后发现,该括号实际存在,但因嵌套函数未全貌显示而不可见。最终决定保留嵌套函数结构,程序仍可正常运行。
-
由于在 Windows 10 中使用 WSL 运行 Shell 脚本受限于 Ubuntu 环境配置不完善的问题,最终决定将 Shell 脚本替换为 PHP 脚本。文章详细记录了如何在一个 PHP 脚本中执行 PHP 命令行的过程,并通过执行 themes.php 命令验证了功能。经数据库检查,写入的数据符合预期,成功实现了通过 PHP 脚本替代原 Shell 脚本的需求。
-
本文记录在 Windows 10 上利用 Ubuntu 执行 .sh 脚本文件的排查过程。作者通过 Windows Terminal 进入 Ubuntu 系统,访问 /mnt/c 挂载的 C 盘目录并运行脚本,过程中遇到 PHP Redis 扩展缺失及连接拒绝等报错。经排查环境并安装扩展后证实,脚本执行依赖的环境需在 Ubuntu 中完整配置,且连接的是系统内的 Redis 而非 Windows 中的服务。
-
本文记录了在 Windows 10 中使用 WSL 运行 .sh 脚本文件的尝试过程。通过管理员身份运行命令成功执行了测试文件,但在运行 themes.sh 时遇到了换行符语法错误及 PHP Redis 扩展报错。最终作者放弃在 WSL 中运行,转而在 Ubuntu 环境下执行,得出结论是脚本执行依赖的环境配置必须在 Ubuntu 中全部准备妥当,且所连接的 Redis 不再是 Windows 中的 Redis。
-
本文分析了主题编辑器页面保存后与实际页面不一致的问题,指出快速编辑时,后端保存接口从 Redis 读取数据的时机早于暂存接口写入数据的时机,导致数据未同步。最初尝试后端计数等待方案,但因存在数据丢失风险,最终参考 Shopify 实现,改为基于 hashValue 的比对机制。该方案在暂存和保存时分别计算与比对哈希值,仅在一致或用户确认忽略冲突时执行保存,从而有效解决了并发请求下的数据一致性问题。
-
本文探讨了在 Laravel 6 结合 Lighthouse 5 环境中,invoke 魔术方法的 $args 参数内部顺序与前端请求参数不一致的问题。经测试发现,直接转换 $args 或通过 Illuminate\Http\Request 获取请求参数,字段排序均会发生变化,而通过获取请求体的原始内容,则能确保与前端顺序完全一致,从而解决了字段顺序错位的问题。
