首页 > 解决方案 > 调用未定义的函数 App\Http\Controllers\Post()

问题描述

您好,我试图显示来自dbto的数据,index page但它说:Call to undefined function App\Http\Controllers\Post()

控制器:

  <?php

  namespace App\Http\Controllers;

  use Illuminate\Http\Request;
  use App\Post;

  class IndexController extends Controller
  {

      public function index()
      {
          $data = Post();
          return view('index', compact('data'));
          //return view('index');
      }

我该如何解决

标签: laraveleloquentlaravel-5.8

解决方案


您试图Post()作为方法/函数调用,而不是模型 Post,并且由于 Post() 不存在,因此您会收到此错误。

为了返回所有帖子,使用你的帖子模型,你应该这样写:

$data = Post::all(); // To return all posts

或者,如果您想根据数据库中的某个字段对其进行过滤

$data = Post::where('active', 1)->get(); // Get all active posts (you need to adjust to any field you have on your database)

您的代码可能类似于:

 <?php

  namespace App\Http\Controllers;

  use Illuminate\Http\Request;
  use App\Post;

  class IndexController extends Controller
  {

      public function index()
      {
          $data = Post::all();
          return view('index', compact('data'));
      }

请在此处阅读有关 eloquent 的更多信息: https ://laravel.com/docs/5.8/eloquent


推荐阅读