Gii:类不存在或语法错误

时间:2016-11-07 06:59:38

标签: php model yii2 crud gii

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

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

以下是我填写表单的错误的屏幕截图: enter image description hereUserRoles存在,肯定没有语法错误。我试过this 它也不起作用。帮助将受到高度赞赏。

5 个答案:

答案 0 :(得分:1)

这是因为类i gii无法正确旋转app \ models \ YourClassName(我经历过因为在共同\模型中创建大多数模型以共享前端和后端之间的模型)

确保保存模式的位置(可以在后端\模型中)

然后在

中设置正确的值

模型类例如:

 backend\models\YourClassName  

或只是

 YourClassName 

对搜索模型类也这样做

在viewpath中你应该使用一个合适的别名,如果你在frontent

  @frontend\views\your-model-name

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

答案 1 :(得分:1)

可能有点太晚了,但为了将来参考,请使用高级yii2模板。

在Model geneneration页面上,将命名空间更改为相应的应用程序。即,从app \ models更改为backend \ models或frontend \ models。

change the namespace here

答案 2 :(得分:0)

检查模型类的namaspace。 添加模型类

app\models\YourClassName  

添加控制器类

backend\controllers\Controller

查看路径

@backend/views/foldername

答案 3 :(得分:0)

我尝试使用以下命令在控制台中创建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

答案 4 :(得分:0)

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

<块引用>
  1. 选择表名(下拉列表将自动生成)。
  2. 输入模型类名称。
  3. 点击预览 -> 生成