尝试命名我的模型时找不到类'Models \ Eloquent'

时间:2013-08-31 23:38:08

标签: php namespaces laravel laravel-4 composer-php

我正在尝试在Laravel 4应用程序中使用我的模型的命名空间。

模型/ Fix.php

<?php 
namespace Models; // Namespace Declaration
class Fix extends Eloquent {        
    public static function getFixes() {
        return DB::table('fixes')->get();
    }
}
?>

FixController.php

<?php
class FixController extends BaseController {
    public function showFix() {
        $fixes = Models\Fix::getFixes();  // Referring to Fix Class in Models namespace  
        return View::make('partials.fix', array(
            'fixes' => $fixes,
        ));
    }
}
?>

在执行此操作时,我收到以下错误:

Symfony \ Component \ Debug \ Exception \ FatalErrorException
Class 'Models\Fix' not found

$fixes = Models\Fix::getFixes();

关注https://coderwall.com/p/nhwq8w我在终端窗口中使用composer dump-auto并尝试重新运行...以查找以下错误。

Symfony \ Component \ Debug \ Exception \ FatalErrorException
Class 'Models\Eloquent' not found

class Fix extends Eloquent {

1 个答案:

答案 0 :(得分:4)

解决方案 - 需要在每个模型中添加use语句......

<?php 
namespace Models;
use Eloquent; // ******** This Line *********
use DB;       // ******** This Line *********
class Fix extends Eloquent {
    public static function getFixes() {
        return DB::table('fixes')->get();
    }
}

?>