繁体   English   中英

Laravel,类别关系帖子

[英]Laravel, Category relations posts

所以我不知道如何在我的 foreach 中使用带有类别的帖子。 控制器

        $Categories = \App\Category::Where('displayed',1)->get();
        foreach ($Categories as $Category){
        $CategoryPosts[]=$Category->load('posts');
        }
        dd($CategoryPosts);
        return view('welcome', compact($CategoryPosts));

@forelse($CategoryPosts as $post)
         <div  id="content-number-1" class="col-12 col-md-8 col-lg-8 home-post1 content-number-1">
            <div class=""><img class="content-one-img content-img-chapter" src="{{$post->image}}"></div>
            <div class="content-text-img p-3"><p><a class="m-0 underImage aTagsHover" style="font-size: 20px" href="/inside/{{$post->id}}">{{$post->title}}</a><br><span class="date-font"><i class="fa fa-clock-o" aria-hidden="true"></i>{{$post->created_at}}</span><span class="underBusiness"><br>{{$post->short_desc}}</span></p></div>
        </div>
@empty
        <div  id="content-number-1" class="col-12 col-md-8 col-lg-8 home-post1 content-number-1">
            <div class="content-one-img content-img-chapter"></div>
            <div class="content-text-img p-3"><p><a class="m-0 underImage aTagsHover" style="font-size: 20px" href="#">No post</a><br><span class="date-font"><i class="fa fa-clock-o" aria-hidden="true"></i>No time</span><span class="underBusiness"><br>No post</span></p></div>
        </div>
@endforelse

我在那里有 2 个类别和 3 个帖子。 https://prnt.sc/ujrvxs

您可以从另一个方向进行此操作以仅获取帖子:

$posts = Post::whereHas('category', function ($query) {
    $query->where('displayed', 1);
})->get();

假设您具有关系设置 Post -> Category 的倒数。 这就是说获取所有显示类别为 1 的帖子。

根据需要调整关系名称。

Laravel 7.x 文档 - Eloquent - 关系 - 查询关系存在whereHas

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM