2017-10-17 11 views
2

私は自分のニュースシステムに忙しく、私は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">&nbsp;</span> 
     <a href="#"><i class="fa fa-user"></i> John Doe</a> 
     <span class="seperator">&nbsp;</span> 
     <i class="fa fa-folder-open"></i> 
     <a href="#">Category</a>, <a href="#">Category</a> 
     <span class="seperator">&nbsp;</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 

私は、このようなすべてのものを削除してやり直すとして、カップルの事を試してみました。本当にそのトリックは何もしなかった。

答えて

4

ビューに変数を渡す必要があります。そうでなければ、ビューは変数を「認識」しません。このように:

<?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(),]); 
    } 
} 

参照here

1

あなたがビューにコントローラから任意のデータを渡すので、このような何かはありません。

$articles = Article::get(); 

return view('pages.news', ['articles' => $articles]); 

または:

return view('pages.news', compact('articles')); 

または:

return view('pages.news')->with('articles', $articles); 

https://laravel.com/docs/5.5/views#passing-data-to-views

関連する問題