【问题标题】:How to show bookmark icon on view in Laravel 8如何在 Laravel 8 中显示书签图标
【发布时间】:2021-03-25 11:49:33
【问题描述】:

我正在创建一个书签系统,用户可以在其中为特定产品添加书签。当我尝试为已添加书签的项目加载图标时,它会同时显示该图标,即在书签图标和已添加书签的图标之前。

这里有一个简单的解释。

[{"id":2,"bookmark_id":"HRTKB1607974280","user_id":"HCTK001606935187","document_id":"HRTKD1607941923","created_at":"2020-12-14T19:31:20.000000Z","updated_at":"2020-12-14T19:31:20.000000Z"},
{"id":3,"bookmark_id":"HRTKB1607974280","user_id":"HCTK001606935187","document_id":"HRTKD1607941923","created_at":"2020-12-14T19:31:20.000000Z","updated_at":"2020-12-14T19:31:20.000000Z"}]

现在在 Blade 文件中,我使用以下代码。

@foreach($documents as $data)
    @foreach($bookmarks as $bookmark)
        @if($data->document_id === $bookmark->document_id)
            <li class="active-bookmark">
                <a href="/add_bookmark/{{$data->document_id}}" 
                   data-toggle="tooltip" data-placement="left" 
                   title="Bookmark">
                    <i class="lar la-bookmark"></i>
                </a>
            </li>
            @break
        @else
            <li>
                <a href="/add_bookmark/{{$data->document_id}}" 
                   data-toggle="tooltip" data-placement="left" 
                   title="Bookmark">
                    <i class="lar la-bookmark"></i>
                </a></li>
        @endif
    @endforeach
@endofforeach

但出于某种原因,这种情况正在发生。

我是不是做错了什么,或者有什么简单的方法可以做到这一点?

【问题讨论】:

  • 删除@break
  • 我做了但仍然得到相同的结果
  • 尝试运行php artisan view:clear并再次检查
  • 还是一样的@Donkarnash
  • 啊,是的。这将是因为您在 foreach for $documents 中使用了另一个 foreach。发生的情况是,当您在内部 foreach 中循环 $bookmarks 以获取与 if 条件匹配的 $bookmark 时,您会在 li 上获得 active-bookmark 类,而对于其余部分,您只需输出没有 active 类的 li

标签: laravel laravel-blade laravel-8


【解决方案1】:

您正在遍历该循环,并且将始终输出一个图标,直到满足真正的条件。当第一次迭代没有满足时会发生什么,它必须再次迭代并输出另一个图标。

假设这些都是集合,您可以在不循环书签的情况下执行此操作:

@foreach ($documents as $document)
    ...
    @if ($bookmarks->contains('document_id', $document->id))
        // have the bookmark
    @else
        // add bookmark
    @endif
    ...
@endforeach

【讨论】:

  • 无论是加书签还是不加书签,两者看起来都一样
  • 听起来像是一个 css 问题
  • CSS 很好@lagbox
  • 很难真正知道你在用这个小 sn-p 做什么和一张只显示循环的 1 次迭代的图片,这只会让这些逻辑路径中的 1 个解析每个文档,所以 . ..
  • 基本上我想要一个书签系统在产品搜索中,用户搜索产品并将产品加入书签,然后如果用户在完成订单或添加到卡片后返回搜索,那么它将在搜索页面
猜你喜欢
  • 2022-01-26
  • 1970-01-01
  • 2021-08-23
  • 1970-01-01
  • 1970-01-01
  • 2021-05-30
  • 2021-01-05
  • 2017-02-14
  • 2021-01-13
相关资源
最近更新 更多