dongliao6777 2018-04-11 14:14
浏览 130
已采纳

Laravel - 未定义的变量:文章

public function press (Request $request)
{
    if($request->has('search')){
        $articles =  Press::search($request->input('search'))->get();
    }
    return view('pages.press.index', compact('articles'));
}

I'm receiving an error Undefined variable: articles. Above is the code I'm using in my controller. What is the error that I'm making?

VIew

 @if(!empty($articles))
    @foreach ($articles as $article)
      <div class="col-md-4">
        <div class="box border">
          <div class="box-header">
            <a href="{{ url('/press/'.$article->slug) }}"><img src="{{ url('http://assets.hobohweb.com/uploads/press/'.$article->image) }}" class="img-fluid" alt=""></a>
          </div>
          <div class="box-body">
            <a href="{{ url('/press/'.$article->slug) }}"><h6 class="h-2x">{{ $article->title }}</h6></a>
            {{ Carbon\Carbon::parse($article->created_at)->diffForHumans() }} on <a href="{{ url($article->source_url) }}" class="text-primary">{{ $article->source }}</a>
          </div>
        </div>
      </div>
    @endforeach
  @endif
  • 写回答

3条回答 默认 最新

  • dongmu6225 2018-04-11 14:31
    关注

    Just check if there are any articles in your search, like:

    if($request->has('search')){
        $articles =  Press::search($request->input('search'))->get();
    } else {
        $articles = [];
    }
    

    And use it in the view:

    @forelse($articles as $article)
        ...
    @empty
        <p>There are no articles!</p>
    @endforelse
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?