分类: MySQL 5.7
-
针对 Yii 2 框架中使用 yii\db\ActiveQuery::joinWith() 进行关联查询时,响应字段类型全部变为字符串的问题,通过检查 Serializer 和 Action 代码发现原因在于使用了 asArray() 方法。删除该方法并直接返回模型对象后,响应字段类型恢复为与数据库一致,成功解决了字段类型异常的情况。
-
针对在 Yii 2 中更新模型时遇到字段值为空导致验证失败的问题,文章探讨了当某字段存在但其值为空时跳过验证且不更新该字段的实现方法。通过编辑验证规则,实现了在空字符串状态下不执行验证,确保 SQL 语句符合预期未更新该字段值,最终成功处理了模型更新逻辑。
-
本文介绍了基于企鹅号的视频文件分片上传实现流程。文章首先设计了包含资源表、分片上传表和事务表的数据库结构,接着阐述了利用队列处理资源复制与上传的逻辑。核心操作在于通过 AssetService 将视频文件按 100M 大小进行切片,并由 QqCwVideoMultipartUploadService 处理 HTTP 请求上传。最终验证显示,切片文件生成正确且能够成功上传至企鹅号后台,实现了大文件的可靠传输。
-
本文介绍了基于 yiisoft/yii2-app-advanced 模板在 GitHub 上新建仓库并实现 RPC 服务端的过程。文章首先通过 Postman 验证了 API 目录中 RESTful 风格接口的正常运行,随后使用 Composer 安装 Hprose,复制并调整 frontend 目录以创建独立的 RPC 应用。接着,文章详细说明了配置 Bootstrap 别名、编辑环境脚本、新增 Nginx 虚拟主机及 Vagrant 配置的具体操作,并对测试套件进行了构建与运行。最终通过访问接口地址和 Vagrant 环境,验证了配置符合预期。
-
本文探讨了在公有云环境下,基于 Yii 2 框架实现多租户逻辑隔离的方法。通过在数据库表中设置租户ID字段,并自定义活动查询类,系统在每次查询时默认添加租户ID条件。文章详细介绍了模型类继承结构、规则调整过程及 SQL 语句优化,最终验证了该方案能有效实现数据隔离并避免查询条件重复。
-
本文基于 yii2-app-advanced 模板新建接口应用,利用 yii2tech 扩展实现 ActiveRecord 软删除。通过数据库迁移调整用户状态字段,配置行为类将删除操作转为状态标记,利用 Gii 生成 ActiveQuery 并自定义查询类以层级继承方式过滤数据,最终实现了 RESTful 接口下符合预期的数据增删改查及软删除逻辑。
-
本文基于 yii2-app-advanced 项目新建接口应用,将数据库字符集调整为 utf8mb4 并配置 RESTful 风格的响应格式。针对开发环境出现的数据库索引长度报错问题,分析了 MySQL 版本差异导致的限制,通过启用 Innodb_large_prefix 参数并修改迁移文件解决了该故障。文章还实现了请求日志记录功能,配置了忽略 GET 请求的规则,并完成了支持筛选功能的日志列表与详情接口。
