Gii: Class 不存在或语法错误

Gii: Class does not exist or has syntax error

我正在尝试使用 Giiyii2 中生成 CRUD。我使用 Gii 创建了一个模型 class 并且创建成功。但是当我尝试创建 CRUD 时,出现以下错误:

Class 'app\models\UserRoles' does not exist or has syntax error.

这是我填写表格的内容和错误的屏幕截图: class UserRoles 存在,肯定没有语法错误。我试过了 而且它也不起作用。将不胜感激。

这是因为 class i gii 无法正确旋转 app\models\YourClassName(我有过这样的经历,因为在 common\models 中创建了大部分模型,以便在前端和后端之间共享模型)

确定保存模型的位置(可以在 backend\models 中)

然后在

中设置合适的值

型号Class 例如:

 backend\models\YourClassName  

或者干脆

 YourClassName 

对搜索模型 Class 也做同样的事情

在 viewpath 中你应该使用一个正确的别名所以如果你在前面

  @frontend\views\your-model-name

或者(在某些情况下)您可以将绝对路径设置为您需要的目录

在模型生成页面上将命名空间更改为适当的应用程序。即,从 app\models 更改为 backend\models 或 frontend\models。

change the namespace here

检查您的模型的命名空间 class。 添加型号 class

app\models\YourClassName  

添加控制器class

backend\controllers\Controller

查看路径

@backend/views/foldername

我尝试使用以下命令在控制台中创建 crud:

php yii gii/crud --controllerClass=app\controllers\PostController --modelClass=app\models\Post

并得到同样的错误。最后,我运行就这样成功了:

php yii gii/crud --controllerClass=app\controllers\PostController --modelClass=app\models\Post

显示您的模型 class 不存在于模型文件夹中,因此首先通过 gii -> 模型生成器创建模型

  1. Select Table Name (drop-down list will generate Automatically).
  2. Enter Model Class Name.
  3. Click on Preview -> generate