如何解决如何在Laravel中的foreach中显示博客类别?
我有我的网站的类别和博客。
这是类别模型:
public function weblogs()
{
return $this->belongsToMany(Weblog::class);
}
这是Weblog模型:
public function categories()
{
return $this->belongsToMany(Category::class);
}
如您所见,Weblog和Category之间存在联系。
这是控制器:
$weblogs = Weblog::paginate(9);
return view('index',compact('weblogs'));
这是我显示网络日志项目的刀片:
@foreach($weblogs as $weblog)
<div class="col-lg-4 col-sm-6">
<div class="blog-item">
<div class="thumbnail">
<a href="#"><img alt=""
src="/Weblog/image/{{ $weblog->image }}"></a>
</div>
<h4><a href="#">{{ $weblog->name }}</a></h4>
<ul>
<li><a href="#">{{ jdate($weblog->created_at)->format('%d %B %Y') }}</a></li>
<li><a href="#">سبک زندگی</a></li>
</ul>
<div class="blog-btn">
<a href="#" class="btn-st">بیشتر بخوانید</a>
</div>
</div>
</div>
@endforeach
我想显示类别属于Weblog的任何项目,我该怎么做?
解决方法
只需访问模板中的属性
<div class="blog-item">
...
@foreach ($weblog->categories as $category)
{{ $category }}
@endforeach
...
</div>
您还可以提前加载关系
$weblogs = Weblogs::with('categories')->paginate(9)
您可以在https://laravel.com/docs/7.x/eloquent-relationships#relationship-methods-vs-dynamic-properties和https://laravel.com/docs/7.x/eloquent-relationships#eager-loading
处了解更多信息。版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。