【问题标题】:Laravel 8: Undefined variable: articles [duplicate]Laravel 8:未定义变量:文章 [重复]
【发布时间】:2021-05-11 02:42:27
【问题描述】:

我想在index.blade.php 显示我的articles 表中的一些数据。

所以在ArticleController 我添加了这个:

public function home()
    {
        $articles = Article::orderBy('id' , 'desc')->get();
        return view('index');
    }

然后在刀片上,我添加了这个:

@foreach($articles as $article) 
    <div class="card-body">
        <h2 class="card-title">{{ $articles->title }}</h2>
        <p class="card-text">{{ $articles->body }}</p>
        <a href="{{ $articles->slug }}" class="btn btn-primary">Read More &rarr;</a>
    </div>
@endforeach

但现在我收到此错误消息:

Undefined variable: articles (View: index.blade.php)

所以你介意帮我解决这个错误吗?我真的很感谢你们的任何想法或建议......

提前致谢。

【问题讨论】:

  • 您没有将文章发送到您的 index.blade.php 文件。您可以使用compact 函数调用在 index.blade.php 文件上发送文章。
  • 将模板中的所有变量 {{ $articles->.... }} 替换为 {{ $article-&gt;... }}
  • 您没有正确拨打电话。不要打电话给$articles-&gt;title,而是$article-&gt;title

标签: php mysql laravel laravel-8


【解决方案1】:

您没有将文章发送到您的 index.blade.php 文件。你可以使用compact函数调用来发送index.blade.php文件上的文章。

例如:

public function home()
    {
        $articles = Article::orderBy('id' , 'desc')->get();
        return view('index');
    }

上面的函数应该是:

public function home()
    {
        $articles = Article::orderBy('id' , 'desc')->get();
        return view('index',compact($articles));
    }

【讨论】:

  • 我添加了,但仍然出现错误
  • 断开服务器并清除缓存,然后重新运行服务器。编辑:您可以使用 `php artisan cache:clear` 清除应用程序缓存。
  • 如果它解决了您的问题,请将其标记为答案。谢谢
猜你喜欢
  • 1970-01-01
  • 2021-04-19
  • 2021-10-31
  • 1970-01-01
  • 2021-08-03
  • 2021-05-30
  • 1970-01-01
  • 1970-01-01
  • 2021-01-10
相关资源
最近更新 更多