2016-11-07 2 views
1

Je suis en train de générer CRUD à l'aide yii2Gii. J'ai créé une classe de modèle en utilisant Gii et il a été créé avec succès. Mais quand je tente de créer CRUD, il donne l'erreur suivante:Gii: classe n'existe pas ou a erreur de syntaxe

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

Voici la capture d'écran de ce que je suis rempli le formulaire avec et erreur: enter image description here La classe UserRoles existe et il n'y a certainement pas de syntaxe Erreur. J'ai essayé this et cela ne fonctionne pas non plus. L'aide serait très appréciée.

+0

premier modèle créer et essayer –

+0

j'ai créé le modèle et il est créé avec succès comme mentionné dans la question. – Saani

Répondre

1

Ceci parce que la classe i GII ne peut pas tourner correctement les modèles app \ \ YourClassName (j'ai connu parce que créer la plupart des modèles dans les modèles communs \ pour la part des modèles entre frontend et backend)

bien où vous enregistrez le mode (peut-être dans les modèles backend \)

puis définissez la valeur correcte en

Modèle de par exemple:

backend\models\YourClassName 

ou simplement

YourClassName 

Et la même chose pour la recherche Modèle de trop

Dans viewPath vous devez utiliser un alias approprié si vous êtes Frontend

@frontend\views\your-model-name 

ou (dans certains cas) Vous pouvez définir le chemin absolu du répertoire dont vous avez besoin.

+0

merci pour la réponse, mais le modèle est créé dans 'frontend' et j'essaye de créer le' CRUD' dans 'frontend' ainsi. Donne toujours l'erreur. – Saani

+0

Avez-vous essayé de définir frontend \ models \ YourClassName dans le champ de classe Model? – scaisEdge

+0

Oui je l'ai fait et il a donné l'exception d'abord dans le chemin de la vue et ensuite je l'ai essayé sans '@' et il a créé mais dans le répertoire 'web \ app \'. – Saani

1

Peut-être un peu trop tard, mais pour référence ultérieure, dans le modèle yii2 avancé.

Sur la page Génération du modèle, remplacez l'espace de noms par l'application appropriée. c'est-à-dire, passer d'app \ models à backend \ models ou frontend \ models.

change the namespace here