【发布时间】: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