Files
rxthinkcmf-wiki/RXThinkCMF_Laravel13_NaiveVue/zh/generator/faq.md
T
2026-10-08 17:50:29 +08:00

78 lines
3.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 10.9 常见问题
### Q: 生成的文件在哪里?
A: 后端文件生成到 `app/` 目录,前端文件生成到 `ui/src/` 目录。具体路径:
```text
app/Http/Controllers/Api/{Name}Controller.php # 控制器
app/Services/{Name}Service.php # 业务服务
app/Models/{Name}.php # 数据模型
app/Http/Requests/{Name}Request.php # FormRequest
ui/src/api/{app}/{name}.ts # API 接口
ui/src/views/{app}/{name}/index.vue # 列表页
ui/src/views/{app}/{name}/edit.vue # 编辑弹窗
ui/src/views/{app}/{name}/detail.vue # 详情弹窗
ui/src/views/{app}/{name}/columns.ts # 表格列配置(仅 ui/ 模板)
ui/src/views/{app}/{name}/querySchemas.ts # 查询表单配置(仅 ui/ 模板)
```
树形结构模块(含 `parent_id` 字段)使用 `ui2/` 模板,不生成 `columns.ts` 和 `querySchemas.ts`。
### Q: 生成后需要手动修改吗?
A: 通常需要。生成的是基础 CRUD 代码,复杂业务逻辑(如关联查询、钩子处理、导入导出细节)需要手动补充。见 [10.8 实战案例](/zh/generator/demo.html)「生成后调整」。
### Q: 可以重新生成吗?
A: 可以,但会覆盖已有文件(默认跳过已存在文件,`--overwrite` 强制覆盖)。建议先备份自定义修改。预览接口(preview)/ `--dry-run` 不会写入文件,可安全查看。
### Q: 树形结构表怎么生成?
A: 表中包含 `parent_id` 字段时,生成器会自动使用 `ui2/` 树形模板;CLI 可用 `--type ui2` 显式指定。
### Q: 生成的权限码格式是什么?
A: 格式为 `sys:{模块名}:{操作}`,如 `sys:example:add`。生成的权限节点已写入 `laravel_menu`(type=1),**记得为角色分配后前端才可见**。
### Q: 支持哪些数据库?
A: 支持 MySQL、PostgreSQL、SQL Server、Oracle、SQLite 五种数据库。生成器会自动检测当前 `.env` 中 `DB_CONNECTION` 配置的数据库类型。
### Q: 生成时报错"表名格式不合法"
A: 表名只允许字母、数字、下划线,且不能以数字开头。检查表名是否包含特殊字符。
### Q: 生成的代码路由 404?
A: 检查 `routes/api.php` 是否已插入路由组(`php artisan route:list | findstr example`),以及前端 API 的 URL 是否与路由一致。
### Q: 演示环境下能用吗?
A: 预览功能(preview / `--dry-run`)在演示环境下可用,实际生成(generate)会被演示模式拦截。
### Q: 可以用命令行生成吗?
A: 可以。使用 `php artisan generate:code <表名>` 命令行生成。CLI 不受演示环境限制,也不需要权限配置。详见 [10.2 CLI 命令行使用](/zh/generator/cli.html)。
### Q: CLI 命令和 Web 端有什么区别?
A: 底层引擎完全相同(`GeneratorLogic` + `GeneratorService`),区别在于操作方式:
- CLI 适合开发环境、批量操作、CI/CD 集成
- Web 端适合日常开发、可视化配置
- CLI 不受权限和演示模式限制
- CLI 支持 `--output` 导出配置、`--config` 从配置生成
### Q: 如何批量生成多张表?
A: Web 端可多选表后点击批量生成。CLI 使用 `--batch` 选项:
```bash
php artisan generate:code table1,table2,table3 --batch
```
### Q: 生成的菜单挂错了位置?
A: 修改 `.env` 中 `GENERATOR_PARENT_MENU_ID` 为正确的父菜单 ID(在菜单管理中查看),改后 `php artisan config:clear`。已生成的菜单在菜单管理中手动移动即可。