Gii: класс не существует или имеет синтаксическую ошибку

Я пытаюсь сгенерировать CRUD в yii2 с помощью Gii, Я создал класс модели, используя Gii и он успешно создан. Но когда я пытаюсь создать CRUD, это дает следующую ошибку:

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

Вот снимок экрана с тем, чем я заполняю форму и ошибка: Класс UserRoles существует и, конечно, нет синтаксической ошибки. Я попробовал это, и это тоже не работает. Помощь будет высоко ценится.

5 ответов

Решение

Это потому, что класс i gii не может вращаться должным образом app\models\YourClassName (я испытал это потому, что создал большинство моделей в common\models для совместного использования моделей между внешним и внутренним интерфейсом)

убедитесь, что у вас есть сохранить режим (может быть в бэкэнд \ модели)

затем установите правильное значение в

Модель класса, например:

 backend\models\YourClassName  

или просто

 YourClassName 

И сделать то же самое для класса поиска модели тоже

В viewpath вы должны использовать правильный псевдоним, так что если вы находитесь в frontent

  @frontend\views\your-model-name

или (в некоторых случаях) вы можете установить абсолютный путь к нужной вам директории

Возможно, будет немного поздно, но для дальнейшего использования в расширенном шаблоне yii2.

На странице Генерация модели измените пространство имен на соответствующее приложение. то есть, перейдите от приложения \models к бэкэнду \models или frontend\models.

изменить пространство имен здесь

Я пытаюсь создать 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

Проверьте namaspace вашего модельного класса. добавить модель класса

app\models\YourClassName  

добавить класс контроллера

backend\controllers\Controller

просмотр пути

@backend/views/foldername

Это показывает, что ваш класс модели не существует в папке модели, поэтому сначала создайте модель с помощью gii -> Генератор моделей

  1. Выберите имя таблицы (раскрывающийся список будет создан автоматически).
  2. Введите имя класса модели.
  3. Нажмите «Предварительный просмотр» -> «Создать».
Другие вопросы по тегам