首页 > 解决方案 > Laravel:网站内未定义的变量帖子

问题描述

在这里真的很挣扎,试图在我的页面上显示帖子,请记住这些帖子正在显示在其他页面上。但是我无法在我的 index.php 页面上显示它们。

欢迎.blade.php

@if(count($posts) > 1)
    @foreach($posts as $post)
        <h2><a href="/posts/{{$post->id}}">{{$post->title}}</a></h2>
    @endforeach
@else
    </p>no posts found</p>
@endif

欢迎控制器.php

public function index()
{
    $posts = Post::all();
    return view('Pages.welcome')->with('posts', $posts);
}

PostsController.php

public function index()
{
    $posts = Post::all();
    return view('posts.index')->with('posts', $posts);
}

Web.php(路由)

  Route::get('/', 'PageController@index');
  Route::get('/welcome','PageController@Welcome');
  Route::get('/services', 'PageController@services');
  Route::get('/register', 'PageController@register');
  Route::get('/Create', 'PageController@Create');
  Route::get('/search', 'PageController@search');
  Route::get('/payment', 'PageController@Payment');



  Route::resource('posts', 'PostsController');
  Route::resource('search', 'SearchController');
  Route::resource('reviews', 'ReviewsController');

家庭控制器.php

    public function __construct()
{
    $this->middleware('auth');
}

/**
 * Show the application dashboard.
 *
 * @return \Illuminate\Contracts\Support\Renderable
 */
public function index()
{
    return view('home');
}

我已经放置了postscontroller,因为这个控制器可以工作并将数据显示到其他页面(posts.index),但是当我尝试在Pages.index上显示数据时我无法这样做?

标签: laravel

解决方案


您的控制器和路线很好,但您拼错了 foreach

@foreac h($posts as $post)

用。。。来代替 :

@foreach($posts as $post)

现在这应该工作


推荐阅读