Slug无法正常工作

时间:2016-12-27 12:23:53

标签: php laravel laravel-5.3

我尝试使用laravel创建slug对管理员的工作,但在前端查看它的工作除了一个问题,我有四篇文章,并且在管理员工作很好但是当在视图前端时它始终打开相同的文章甚至坚韧slug是不同的URL。

控制器代码

public function singleArticle($slug){

    Article::where('slug', '=', $slug)->increment('viewed');




    $navi['country'] = Country::get();
    $navi['genre'] = Genre::get();


    $articles = Article::orderBy('created_at','desc')->limit(3)->get();
    $latest_movies = Movie::where('type', '=', 'movie')->orderBy('created_at','desc')->limit(4)->get();
    $latest_tv = Movie::where('type', '=', 'tv')->orderBy('created_at','desc')->limit(4)->get();
    $most_viewed_movies = Movie::where('type', '=', 'movie')->orderBy('viewed','desc')->limit(3)->get();
    $most_viewed_tv = Movie::where('type', '=', 'tv')->orderBy('viewed','desc')->limit(4)->get();

    $most_viewed_article = Article::orderBy('created_at','desc')->orderBy('viewed','desc')->limit(4)->get();



    $article = Article::where('slug', '=', $slug)->first();

和视图前端

 @if(count($articles) > 0)
            <div class="articles_list">
                @foreach($articles as $article)
                 <div class="col-md-6">
                    <div class="article_item row">
                        <div class="article_info">
                            @if($article->thumb)
                            <a href="{{route('articles.single',$article->slug)}}"><img class="img-responsive" src="{{ url(Image::url($article->thumb,350,200,array('crop'))) }}" alt="{{$article->title}}">
                            @else
                            {{-- <img class="img-responsive" src="{{ url(Image::url($article->thumb,250,250,array('crop'))) }}" alt="{{$article->title}}"> --}}
                            @endif
                            <div class="artice_title"><h3>{{$article->title}}</h3></div>
                            <div class="article_time">                                
                            <span class="author">By Admin</span>
                            <span class="cateogry">Category</span>
                            <span class="time">{{date('F d, Y', strtotime($article->created_at))}} </a></span></div>
                            <!--<div class="article_descr">
                                <?php echo  mb_substr($article->content, 0, 200) . ' ...'; ?>
                            </div>
                        <a class="btn btn-default read_more" href="{{route('articles.single',$article->id)}}">Read more</a> -->
                        </div>
                        </div>
                    </div>
                @endforeach
            </div>
            <div class="clearfix"></div>
            <div class="text-center col-xs-12">
                {{$articles->links()}}
            </div>
        @else
        <div class="col-xs-12">
            Nothing found in there
        </div>
        @endif

在代码下方路由:

    // Category
Route::get('category/{slug}', ['as' => 'category.index', 'uses' => 'CommonController@categoryIndex']);

// Articles
Route::get('articles', ['as' => 'articles.index', 'uses' => 'CommonController@articleIndex']);

// Specific article
Route::get('articles/{slug}', ['as' => 'articles.single', 'uses' => 'CommonController@singleArticle']);

之前感谢。

1 个答案:

答案 0 :(得分:1)

这只是命名约定的问题。请为变量选择不同的名称。

  1. @foreach($articles as **$article**).您的视图中有$ article变量。

    1. **$article** = Article::where('slug', '=', $slug)->first();它在您的控制器中。所以这只是因为冲突。
相关问题