代码和老师是一样的。未投稿的专题文章为空,循环会报错?
来源: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,则建议同学参考第二种解决方案。
祝学习愉快!
相似问题