【问题标题】:"Class 'App\Http\Controllers\Flight' not found"“找不到类 'App\Http\Controllers\Flight'”
【发布时间】:2019-04-14 14:13:45
【问题描述】:

我在 laravel 5.7 上工作,正在看 laravel 5.2 的教程

在“laravel\routes\web.php”中

Route::get('/flight ','makeflight@lol' );

在“laravel\App\Http\Controllers\makeflight.php”中

   <?php
namespace App\Http\Controllers ;
use Illuminate\Http\Request;
class makeflight extends Controller{
    public function lol(){
    $flights = Flight::all();
    $arr = array ('flights'=>$flights);
    return view('flight',$arr);
}}

在“laravel\App\Flight.php”中

<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Flight extends Model{}

在“laravel\resources\views\flight.blade.php

<?php
echo $flights;

毫无疑问,迁移和数据库一切正常;

错误:“找不到类‘App\Http\Controllers\Flight’”

我很难坚持基础知识 对不起,如果这是白痴,但我花了大约 10 个小时,我搜索了很多。

【问题讨论】:

  • 在你的控制器中添加一个use App\Flight。
  • 错误:“命名空间声明语句必须是第一个语句或在脚本中的任何声明调用之后”刚刚在“使用 Illuminate\Http\Request;”之后添加它。
  • 已解决...感谢您的帮助..非常感谢

标签: laravel


【解决方案1】:

您应该在页面顶部添加飞行模型 使用 App\Flight;

所以你的代码应该是这样的:

<?php
namespace App\Http\Controllers ;
use Illuminate\Http\Request;
use App\Flight;
class makeflight extends Controller{
    public function lol(){
    $flights = Flight::all();
    $arr = array ('flights'=>$flights);
    return view('flight',$arr);
}}

【讨论】:

  • 错误:“命名空间声明语句必须是第一个语句或脚本中的任何声明调用之后”
  • 也许你的 php 标签之前有 bom 或空格,顺便说一下,这个问题是关于找不到类的其他部分,你可以更改它祝你好运
猜你喜欢
  • 2020-02-02
  • 2016-06-02
  • 2016-05-15
  • 2018-05-02
  • 2017-07-12
  • 2015-12-18
  • 2017-11-29
  • 2017-08-10
  • 2020-04-13
相关资源
最近更新 更多