我正忙于我自己的新闻系统,我正在使用Laravel 5。我对Laravel非常陌生,我使用教程来完成它。现在我的错误是“未定义的变量:文章”。
这是我的ArticlesController.php
<?php
namespace App\Http\Controllers;
use App\Article;
use Illuminate\Http\Request;
class ArticlesController extends Controller
{
public function index()
{
return view('pages.news');
}
}这是我的news.blade.php
@foreach ($articles as $article)
<!-- Post -->
<div class="blog-item">
<!-- Post title -->
<h2 class="blog-item-title font-alt">
<a href="news-single.html">{{ $article->title }}</a>
</h2>
<!-- Post data -->
<div class="blog-item-data">
<a href="#"><i class="fa fa-clock-o"></i> 5 December</a>
<span class="seperator"> </span>
<a href="#"><i class="fa fa-user"></i> John Doe</a>
<span class="seperator"> </span>
<i class="fa fa-folder-open"></i>
<a href="#">Category</a>, <a href="#">Category</a>
<span class="seperator"> </span>
<a href="#"><i class="fa fa-comments"></i> 5 Comments</a>
</div>
<!-- Media gallery -->
<div class="blog-media">
<ul class="clearlist content-slider">
<li><img src="images/portfolio/full-project-1.jpg" alt="Blog image"></li>
</ul>
</div>
<!-- Text intro -->
<div class="blog-item-body">
<p>{{ $article->body }}</p>
</div>
<!-- Read more -->
<div class="blog-item-foot">
<a href="news-single.html" class="btn btn-mod btn-round btn-small">Read More <i class="fa fa-angle-right"></i></a>
</div>
</div>
@endforeach我尝试过一些事情,比如移除所有的东西,重新开始。没有什么能起作用的。
发布于 2017-10-17 09:41:48
您必须将变量传递给您的视图,否则视图不会“知道”该变量。如下所示:
<?php
namespace App\Http\Controllers;
use App\Article;
use Illuminate\Http\Request;
class ArticlesController extends Controller
{
public function index()
{
return view('pages.news', ['articles' => Article::all(),]);
}
}参考这里。
发布于 2017-10-17 09:43:23
您不会将任何数据从控制器传递到视图,因此执行如下操作:
$articles = Article::get();
return view('pages.news', ['articles' => $articles]);或者:
return view('pages.news', compact('articles'));或者:
return view('pages.news')->with('articles', $articles);https://stackoverflow.com/questions/46787087
复制相似问题