1

我正在尝试在 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 {
4

1 回答 1

4

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

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

?>
于 2013-08-31T23:49:44.333 回答