基于 SOC 职业分类
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/yyw-code/MallBase --skill model-field-accessor-first命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
MallBase 数据库真相源、正式字段与升级 SQL 规则;修改 backend/install/data/schema 或 demo seed、新增/改名字段、移除运行时字段探测,或用户明确要求已有库升级、本地 upgrade SQL、发布迁移和 SimpleSqlMigrationService 时使用。
MallBase ThinkPHP 后端规则导航;仅在后端任务涉及多个场景、需要查找项目规则,或无法确定应读取哪个更具体的 ThinkPHP skill 时使用。
MallBase 文档放置与导航规范;新增、移动、删除 docs、模块文档、根 README 或 docs/index.md 导航时使用。
| name | model-field-accessor-first |
| description | MallBase ThinkPHP 模型字段访问器与素材回显规则;在 Model 字段读写、访问器、修改器、with 关联、素材 ID 回显或 Service 字段组装优化时使用。 |
backend/app/*/model/**backend/app/*/service/***_full_url 的返回字段$model->save()。with(),避免重复手写 ids -> map -> foreach。think\model\type\Json 对象输入,不能假设传入值一定是数组。*_full_url。buildUploadUrl() 伪装成 URL 回显。*_full_url 回显必须在 Service 层或专用回显服务中批量解析,避免模型访问器隐式 N+1。join、exists 或明确的关联 ID 查询,不依赖 with()。var_dump、dump、echo、die 这类会污染接口响应的调试输出。$json、$jsonAssoc、$append。with()。get*Attr() 补充展示字段。AssetHydrator 或等价批量解析工具补充 *_full_url。bigint unsigned COMMENT '头像素材ID':不要在模型访问器里拼 URL。varchar(255) COMMENT '头像' 且存 /static/...、/uploads/...、https://...:可以使用 buildUploadUrl()。User::getAvatarFullUrlAttr() 里把素材 ID 1 传给 buildUploadUrl('1')。upload_asset 表。array_column -> whereIn -> map -> foreach,而模型已有清晰关系可用。app()->make() 且没有测试替身价值的私有方法。getSpecMetaAttr() 里直接 var_dump($value)with()。think\model\type\Json。