提问人:Manuel 提问时间:10/8/2023 更新时间:10/11/2023 访问量:39
Laravel 显示 <p> 带有 if 条件的标签内容
Laravel display <p> tag content with a if condition
问:
我正在做一个 laravel 项目。我通过通过foreach块传递html(p)标签来显示内容,并且我想用逗号分隔所有迭代。所以这是我如何做到的:
<p class="text-2xl">
@foreach ($user->rateSchedule as $schedule)
{{ $schedule->disciplines->name }}
@if (!$loop->last)
{{ ',' }}
@endif
@endforeach
</p>
假设显示如下: 针灸, 灵气, 针灸
但是,当显示逗号时,它前面有一个空格。
它的显示方式如下: 针灸 , 灵气 , 针灸
我想删除逗号前的空格。但我不知道该怎么做。
答:
0赞
striker4150
10/10/2023
#1
与其循环访问计划并将它们一一打印出来,不如执行如下操作:
<p class="text-2xl">
{{ Arr::join(Arr::map($user->rateSchedule, fn($schedule) => $schedule->disciplines->name), ', ') }}
</p>
其工作原理是首先使用 Arr::map() 将每个计划映射到学科的名称,然后使用 Arr::join() 将每个名称用逗号连接在一起。
初始解决方案中的额外空格可能是由于每行中的缩进/换行符造成的。Blade 不区分缩进/换行符和预期的空格。
0赞
Hamid Raza
10/11/2023
#2
你可以试试这个:
<p class="text-2xl">{{ $user->rateSchedule->pluck('disciplines.name')->implode(',') }}</p>
评论