2014-09-05 3 views
6

Je viens d'essayer le tutoriel Working with Forms sur la version "basique" de Yii v 2.0.0. Je l'ai suivi pas à pas, mais je suppose que quelque chose ne va pas. J'ai le modèle EntryForm en place, SiteController a l'actionEntry et les deux vues sont là aussi.yii base ErrorException - Classe 'app controllers EntryForm' non trouvé

erreur Trace:

1. in /usr/share/nginx/html/basic/controllers/SiteController.php at line 99 

} 

public function actionAbout() 
{ 
    return $this->render('about'); 
} 

public function actionEntry() 
{ 
    $model = new EntryForm; 

    if ($model->load(Yii::$app->request->post()) && $model->validate()) { 
     // valid data received in $model 

     // do something meaningful here about $model ... 

     return $this->render('entry-confirm', ['model' => $model]); 
    } else { 
     // either the page is initially displayed or there is some validation error 

2. yii\base\ErrorHandler::handleFatalError() 
+1

Avez-vous inclus votre modèle 'entryform' dans votre' sitecontroller'? –

+0

Venant de Yii 1.1.15 Je n'y ai pas pensé. Merci! – user1502

Répondre

10

use app\models\EntryForm; dans SiteController.php résolu.

+0

ou 'use \ models \ EntryForm \ common si votre modèle vit sous' common' – russellfeeed

+0

Merci de ne jamais le mentionner dans le tutoriel. J'étais coincé sur cette partie aussi. – Veronica

0

Géré pour résoudre mon problème en générant une table différente en utilisant Gii. Ensuite, l'auto générée classe et utilisé sur EnterForm.php

EntryForm de classe étend \ yu \ db \ ActiveRecord

1

L'espace de nom de base est en SiteController.php contrôleurs app espace de noms de \;. Donc, vous pouvez ajouter utiliser app \ models \ EntryForm; en haut du fichier ou utilisez $ model = new \ app \ models \ EntryForm(); pour la sélection directe de la classe.

Questions connexes