2017-01-12 6 views
0

Ich benutze YII2 fortgeschritten und ich versuche von einer Stunde, aber kein Code für mich arbeiten. Ich möchte ein Dropdown-Menü aus der Benutzertabelle auf meiner Post-Seite erstellen. Ich habe diesen Fehler Class 'yii\models\user' not found gefunden. Ich habe diesen Post mit GII erstellt. mein _form.php CodeKlasse 'yii models user' nicht in der Ansicht gefunden yii2

<?php 

use yii\helpers\Html; 
use yii\helpers\ArrayHelper; 
use yii\models\user; 
use yii\widgets\ActiveForm; 

/* @var $this yii\web\View */ 
/* @var $model app\models\Posts */ 
/* @var $form yii\widgets\ActiveForm 
<?php/* <?= $form->field($model, 'id')->textInput(['value' => \Yii::$app->user->identity->id]) ?> 
use yii\models\user; 
*/ 
?> 

<div class="posts-form"> 

    <?php $form = ActiveForm::begin(); ?> 

    <?= $form->field($model, 'post_title')->textInput(['maxlength' => true]) ?> 

    <?= $form->field($model, 'post_description')->textarea(['rows' => 6]) ?> 



    <?php 
     echo Html::activeDropDownList($model, 'author_id',ArrayHelper::map(User::find()->all(),'id','username'),['prompt'=>'Select User']); 
    ?> 

    <div class="form-group"> 
     <?= Html::submitButton($model->isNewRecord ? 'Create' : 'Update', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?> 
    </div> 

    <?php ActiveForm::end(); ?> 

</div> 

Warum nicht jemand arbeiten mir bitte helfen. Dank in advence

Antwort

1

User::find() zeigt versuchen übereinstimmen müssen, dass Sie würden ein Benutzermodell verwenden, also wirklich in Großbuchstaben, da scaisEdge auf Sie geantwortet hat.

Sie müssen jedoch wissen, in welchem ​​Namensraum Ihr Benutzermodell sitzt. Yii2 hat kein Benutzermodell, Sie müssen es erstellen. Sie haben erwähnt, dass Sie die erweiterte Vorlage verwenden. In diesem Fall sollten Sie ein Benutzermodell in 'common/models/User.php' statt 'models/User.php' erstellen. Folgen Sie der Beschreibung in der Yii2 Guide.

+0

Danke, dass du meinen Punkt verstanden hast. Jetzt benutze ich common \ models \ User; – Coder

+0

Funktioniert gut. Aber ich frage nur, das ist die richtige Methode? oder falsch? – Coder

0

in PHP Regel ein Klassenname mit einem Groß char beginnen so in einem Unix wie env (mit System-Datei auf einem Groß- und Kleinschreibung constrain basiert) dieses

use yii\models\User; 
+0

[email protected] Ich suche jedes Mal deine Nummer. Ich hoffe eines Tages wird das 1000000 sein. – Coder

Verwandte Themen