【发布时间】:2016-07-30 10:11:20
【问题描述】:
我一直在尝试解决 laravel 5.2 应用程序 (carfreak) 中的错误,但未成功。
FatalErrorException in PropertyController.php line 85:
Class 'App\Models\CarModel' not found
我已将默认用户模型移动到文件夹 app/models 并进行了必要的更改,以便一切正常。
现在我有一个新控制器 CarController 和一个新模型 CarModel,它们只是无法正常工作。名称空间似乎是一个如此简单的问题,但我无法解决它。
- models 文件夹中有模型吗?是的。
carfreak\app\Models\CarModel.php - 控制器命名空间是否正确?是的...
namespace carfreak\Http\Controllers; - 控制器是否引用模型?是的...
use App\Models\CarModel; - 模型命名空间是否正确?是的...
namespace carfreak\Models;
我可以通过使用CarController 来创建不同版本的错误,但我想不出任何排列方式。
编辑:添加了控制器和模型...
编辑:添加了更多细节:
具有讽刺意味的是,我可以 php artisan make:model sanityCheck 并且它将在 \app 根目录中创建一个模型(即不在 app\models 中)......并且可以很好地调用该模型。如果我将 CarController 放回根目录,并适当地更改它的命名空间,它仍然不起作用。这几乎就像我在类名或其他东西中有一些愚蠢的拼写错误,但我已经将类名复制并粘贴到我的文件名、类声明、“使用”声明等中。仍然。没有。工作。啊!
//这是汽车模型
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class CarModel extends Model
{
//
/**
* The attributes that are mass assignable.
* @var array
*/
protected $fillable = [
'colourOfCar',
];
}
//这是汽车控制器
<?php
namespace carfreak\Http\Controllers;
use Illuminate\Http\Request;
//use \carfreak\app\Models\CarModel;
use App\Models\CarModel;
class CarController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function __construct()
{
$this->middleware('auth');
}
public function store(Request $request)
{
// validate the data
$this->validate($request, array(
'CarColour' => 'required|max:50'
));
// store in the database
$newCar = new CarModel;
dd($request);
}
}
【问题讨论】:
-
发布您的
CarModel文件 -
还有你的
CarController文件 -
两个词,
Namespace和Use.... 是正确命名并位于正确路径中的文件。如果您有 Linux 服务器,这包括外壳。 -
添加了代码。是的,我知道它是命名空间和使用......但无论我如何输入该死的东西,它都不起作用。 Windows 10。
-
这看起来不对
use \carfreak\app\Models\CarModel;应该是use App\Models\CarModel不?
标签: php laravel-5.2