2018-02-24 02:23:39 2379次浏览 4条回答 0 悬赏 10 金钱

Test.php

<?
namespace app\models;

use yii\db\ActiveRecord;

class Test extends ActiveRecord
{
	public static function tableName(){
		return "test";
	}
}

IndexController.php

<?php
namespace app\controllers;

use yii\web\Controller;
use app\models\Test;

class IndexController extends Controller
{
	public function actionIndex()
	{
		$model = new Test();
		$data = $model->find()->one();
		return $this->render("index",array("row"=>$data));
	}
}

为什么$model = new Test();报错

Unknown Class – yii\base\UnknownClassException
Unable to find 'app\models\Test' in file: D:\phpStudy\PHPTutorial\WWW\bs/models/Test.php. Namespace missing?

最佳答案

  • yyf 发布于 2018-02-24 14:24 举报

    Test.php文件的开始应该是
    <?php
    namespace app\models;
    ....
    你少写了php吧,短标记已经不适用,在apache默认不启用,除非你自己将它开启。
    PHP标记

    2 条回复
    回复于 2018-02-24 14:38 回复

    万分感谢。。。。调了一晚上就是没看到那个细节。。。

    回复于 2018-02-24 14:40 回复

    不客气,细节问题,注意一下,下次就不会发生了

    觉得很赞
  • 回答于 2018-02-24 08:51 举报

    找不到类啊,看看命名空间

    1 条回复
    回复于 2018-02-24 11:44 回复

    两个类的namespace应该没打错吧。。。

  • 回答于 2018-02-24 09:14 举报

    在你的IndexController控制上写
    namesapce app\controllers;
    ...
    use app\controllers\Test;
    试试

    1 条回复
    回复于 2018-02-24 11:43 回复

    还是不行。

  • 回答于 2018-03-05 10:23 举报

    不需要new

    这么写就可以

    	$data = Test::find()->one();
    	return $this->render("index",array("row"=>$data));
    
您需要登录后才可以回答。登录 | 立即注册
rudy5348
实习生

rudy5348

注册时间:2018-02-24
最后登录:2018-05-15
在线时长:1小时13分
  • 粉丝0
  • 金钱0
  • 威望0
  • 积分10

热门问题