【问题标题】:Class 'yii\models\user' not found in view yii2在视图 yii2 中找不到类 'yii\models\user'
【发布时间】:2017-01-13 03:50:26
【问题描述】:

我正在使用 YII2 高级版,我尝试了几个小时,但没有任何代码适合我。我想从我的帖子页面中的用户表创建下拉列表。我发现了这个错误Class 'yii\models\user' not found。我用 GII 创建了这篇文章。我的_form.php 代码

<?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>

为什么不工作请任何人帮助我。 提前感谢

【问题讨论】:

    标签: yii yii2 yii2-advanced-app


    【解决方案1】:

    User::find() 表明您将使用 User 模型,因此实际上是大写的,因为 scaisEdge 已回答您。

    但是您必须知道,您的用户模型位于哪个命名空间中。 Yii2 没有 User 模型,你必须创建它。您提到,您正在使用高级模板。在这种情况下,您应该在“common/models/User.php”而不是“models/User.php”中创建一个用户模型。按照Yii2 Guide中的说明操作。

    【讨论】:

    • 谢谢你明白我的意思。现在我正在使用 use common\models\User;
    • 工作正常。但我只是问这是正确的方法吗?还是错了?
    【解决方案2】:

    在 php 中,类名通常以大写字符开头,因此在 unix 之类的 env 中(文件系统基于区分大小写的约束),这必须匹配 try

    use yii\models\User;
    

    【讨论】:

    • 谢谢@42.7k。我每次都在看你的号码。我希望有一天这将是 1000000。
    猜你喜欢
    • 1970-01-01
    • 2021-12-28
    • 2017-06-07
    • 2017-10-04
    • 1970-01-01
    • 2017-05-14
    • 1970-01-01
    • 2018-02-12
    • 2017-10-21
    相关资源
    最近更新 更多