php Laravel使用< p>if条件显示标签内容

vktxenjb  于 2023-10-15  发布在  PHP
关注(0)|答案(2)|浏览(113)

我在做一个Laravel项目。我通过将html(p)标记传递给foreach块来显示内容,我想用逗号分隔所有的迭代。我是这么做的

<p class="text-2xl">
   @foreach ($user->rateSchedule as $schedule)
      {{ $schedule->disciplines->name }}
      @if (!$loop->last)
         {{ ',' }}
      @endif
   @endforeach
</p>

假设这样显示:针灸,灵气,针灸
但当逗号显示时,它前面有一个空格。
它是这样显示的:针灸,灵气,针灸
我想去掉逗号前的空格。但我不知道怎么做。

lrl1mhuk

lrl1mhuk1#

你可以这样做,而不是循环遍历日程表并逐个打印出来:

<p class="text-2xl">
    {{ Arr::join(Arr::map($user->rateSchedule, fn($schedule) => $schedule->disciplines->name), ', ') }}
</p>

首先使用Arr::map()将每个计划Map到规程的名称,然后使用Arr::join()将每个名称与逗号连接在一起。
初始解决方案中的额外空格可能是由于每行中的缩进/换行符。Blade不区分缩进/换行符和预期的空白。

gr8qqesn

gr8qqesn2#

你可以试试这个:

<p class="text-2xl">{{ $user->rateSchedule->pluck('disciplines.name')->implode(',') }}</p>

相关问题