未找到控制器类 - 流明

时间:2015-12-05 04:45:48

标签: php laravel lumen

我班级的控制器'文章'无法找到。

我需要从文章表中获取所有条目。

我可以使用DB :: facade来提取数据库中的内容,但是当我尝试使用Article :: all()时,我得到:

Class 'App\Http\Controllers\Article' not found

in ArticleController.php line 15
at Application->Laravel\Lumen\{closure}()

第15行看起来像:

$article = Article::all();

这是我迄今为止尝试过的,但没有成功:

  • 将.env.example更新为.env并设置我的数据库凭据。

  • 在bootstrap / app.php中
  • 我已取消注释Dotenv::load(__DIR__.'/../');

  • 在bootstrap / app.php中我已取消注释$app->withFacades(); $app->withEloquent();

  • 我试图在routes.php中使用控制器的完整路径:$app->get('article', 'App\Http\Controllers\ArticleController@index');

我的模型目录位于app-> Models下,并且有我的Article.php模型:

<?php

# app/Models/Article.php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class Article extends Model
{
    protected $table = 'articles';
    protected $fillable = ['title', 'content'];
}

我的控制器是ArticleController.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;


class ArticleController extends Controller{

    public function index(){

        $article = Article::all();

        return response()->json($article);
    }
}

我的routes.php

<?php

$app->get('article', 'ArticleController@index');

我非常感谢有关此错误的任何帮助。不幸的是,我花了2天的时间来完成这项工作。

感谢。

3 个答案:

答案 0 :(得分:0)

只需运行composer update。将生成一个新的自动加载类图,并且您的所有新作曲家将在成功更新后准备好自动加载。

答案 1 :(得分:0)

您需要拥有适当的命名空间。您的Article模型位于App\Models命名空间中,因此您需要将其添加到控制器的顶部:

use App\Models\Article;

答案 2 :(得分:0)

感谢您的回复和@Thomas的回答。我按照你的回复,并能够在我的控制器中添加正确的命名空间。