代码和老师是一样的。未投稿的专题文章为空,循环会报错?
来源:2-8 使用scope等完成专题详情页逻辑
精慕门5873187
2020-06-11 21:35:15
后台代码
//专题详情 public function show(Topic $topic){ //文章数 $topic = Topic::withCount('postTopics')->find($topic->id); //专题的文章列表 /* $posts = DB::table('post_topics') ->where('post_topics.topic_id',$topic->id) ->leftJoin('posts','post_topics.post_id','=','posts.id') ->get(); if($posts->count()>0){ foreach ($posts as $key=>$value){ $posts[$key]->user = DB::table('users')->where('id',$value->user_id)->first(); } }*/ $posts = $topic->posts()->orderBy('created_at','desc')->take(10)->get(); //属于我的文章,不属于该专题的文章 $myposts = \App\Post::authorBy(\Auth()->id())->topicNot($topic->id)->get(); return view('topic/show',compact(['topic','posts','myposts'])); }
页面循环代码
<div class="tab-content"> <div class="tab-pane active" id="tab_1"> @if(!empty($posts)) @foreach($posts as $post) <div class="blog-post" style="margin-top: 30px"> <p class=""> <a href="/user/{{$post->user->id}}">{{$post->user->name}}</a> {{$post->created_at->diffForHumans()}} </p> <p class=""> <a href="/posts/{{$post->id}}">{{$post->title}}</a> </p> {!! Str::limit($post->content,100) !!} </div> @endforeach @endif </div> </div>
专题有文章的显示不好报错
没有文章的专题访问
这个问题已经问了好几次了,希望能真正的解决一下问题QAQ,很迷惑,实在不行麻烦加QQ看下代码+1491363753
我的laravel版本是7.0的
1回答
好帮手慕小尤
2020-06-12
同学你好,同学的问题已回复,请同学参考您的上一个问题(http://class.imooc.com/course/qadetail/228985 )。
注:同学的版本是laravel7.0,则建议同学参考第二种解决方案。
祝学习愉快!
相似问题