return Post::all(); - Laravel 版本 8

return Post::all(); - Laravel version 8

我最近开始研究 laravel。

我正在尝试 return 来自 table 的一些数据,但是我收到以下错误:

错误 Class 'App\Post' 未找到

这一行: return Post::all();

这是我的 PostsContoller 文件中的代码:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use App\Post;

class PostsController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        return Post::all();
        return view('posts.index');
    }
}

如有任何帮助,我们将不胜感激。

您的 Post 模型不是 App\Post,而是 App\Models\Post,因为它在 App\Models 命名空间中定义。

use App\Models\Post;

在 Laravel 版本 8 中,他们已将模型(作为文件夹)移动到 App\Models 中,因此您的模型 Post 将位于 App\Models 中\Post 目录, 在以前的 laravel 版本中,它直接是 App\Post。

这里是 documentation 关于 Laravel 8

中的模型

所以,永远记得通过

导入模型
use App\Models\model_name;

希望对您有所帮助,谢谢:)