78 lines
3.5 KiB
Markdown
78 lines
3.5 KiB
Markdown
# 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`。已生成的菜单在菜单管理中手动移动即可。
|