类';应用程序模型测试';尝试访问模型时找不到


Class 'AppmodelsTest' not found when try to access model

我正在努力学习laravel框架。

当我尝试使用模型时,我遇到了一些错误。

在我的测试控制器中

 <?php 
        namespace App'Http'Controllers;
        use App'models'Test;
        class TestController extends Controller {
            public function __construct()
            {
                $this->middleware('guest');
            }
            public function editData($id) {
                $result = DB::select('select * from users where id = ?', array($id));
                $data['data'] = $result[0];
                return view('myview', $data);
            }
       }
?>

在我的型号中

模型路径为app/models/Test.php

型号名称为Test.php

<?php
use Illuminate'Database'Eloquent'Model;
class Test extends Model {
    protected $table = 'users';
    public static function getMyData(){
         $user = Test::find();
    }
}
?>

输出:

FatalErrorException in TestController.php line 56:
Class 'App'models'Test' not found

我也在尝试这个命令。

composer dump-autoload

但不起作用。

您的Test模型根本不在任何命名空间中。您需要通过以下方式引用它:

use Test;

或:

'Test::getMyData();

或者把它放在你现在试图引用的命名空间中:

<?php
namespace App'models;
use Illuminate'Database'Eloquent'Model;
class Test extends Model {
    protected $table = 'users';
    public static function getMyData(){
        $user = Test::find();
    }
}
?>

在模型中,编写以下代码,

namespace App'models;

这会起作用,只是代码中缺少命名空间,其余所有代码都是完美的

您错误地导入了模型
模型中的"m"是小型

use App'models'Test;

这是正确的方式:

use App'Models'Test;

修改vendor/barryvdh/laravel-ide-helper/config/ide-helper.php 中的配置

'model_locations' => array(
    'app'Models',    //your models' location
),

尝试类似的东西

$ModelName=new''App''Models''ModelName();