【问题标题】:Class 'Models\Eloquent' not found when trying to namespace my models尝试命名我的模型时找不到类“模型\雄辩”
【发布时间】:2013-09-04 10:00:34
【问题描述】:

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

【问题讨论】:

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


【解决方案1】:

解决方案 - 需要在每个模型中添加 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();
    }
}

?>

【讨论】:

  • 或前缀` like class Fix extends \Eloquent`。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-08-11
  • 1970-01-01
  • 2015-07-09
  • 2013-05-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多