首页 > 解决方案 > PHP foreach 循环得到 2 而不是一个 laravel 刀片

问题描述

我正在为我的网站发帖,现在我希望人们能够喜欢这篇文章。但是当他们喜欢帖子时(如果有 0 个喜欢),您会看到一颗空心。但是当多人喜欢这个帖子时,就会有更多的心。

这是我的代码

@foreach($post->likes as $likes)
    @if($likes->where('user_id', Auth::User()->id))
        <i onclick="window.location.href = '/blog/like/{{ $post->id }}';"
           class="fa fa-heart liked"></i>
    @else
        <i onclick="window.location.href = '/blog/like/{{ $post->id }}';"
           class="far fa-heart"></i>
    @endif
@endforeach

在上面的代码中,你有一个带有“liked”的ai类。我想要我的刀片上的那个项目之一,而不是多个。有人可以帮助我吗?

在此处输入图像描述

必须是一颗心

标签: phplaravel

解决方案


                    @if(count($post->likes) !== 0)
                        <i onclick="window.location.href = '/blog/like/{{ $post->id }}';"
                           class="@if($post->likes->contains('user_id', Auth::User()->id) === true)fa fa-heart liked @else far fa-heart @endif"></i>
                    @else
                        <i onclick="window.location.href = '/blog/like/{{ $post->id }}';"
                           class="far fa-heart"></i>
                    @endif

我已经在上面修复了它 ^^ 我删除了 foreach 并添加了 contains() 方法并检查它是否正确,现在它可以工作了。


推荐阅读