我正在使用@foreach显示一些内容。但是如果这些数据与来自另一个@foreach ...
的任何数据匹配,我想以不同的方式显示该内容这是我的代码:
@foreach($todasactividades as $a)
<div class="marco-cabecera">
@foreach($actividades as $activ)
@if($a->id == $activ->id)
<?php $bandera = true; ?>
@elseif($a->id != $activ->id)
<?php $bandera = false; ?>
@if($bandera)
{{ $a->actividad }}
@elseif(!$bandera)
{{ $a->actividad }} Something different!!
@endif
@endif
@endforeach
@endforeach
我尝试了一些不同的东西,所以现在我认为我的代码很乱......
有人知道我该如何解决它?
提前致谢!
答案 0 :(得分:1)
我已经用这种方式解决了这个问题...
@foreach($todasactividades as $a)
<?php $bandera = 0 ?>
@foreach($actividades as $activ)
@if($a->id == $activ->id)
<?php $bandera++ ?>
@endif
@endforeach
@if($bandera == 0)
<div class="marco-fondo-blanco">
{{ $a->actividad }}
</div>
@else
<div class="marco-fondo-gris">
{{ $a->actividad }}
</div>
@endif
@endforeach
答案 1 :(得分:0)
这会清理您的代码并修复一些逻辑问题。
@foreach($todasactividades as $a)
<div class="marco-cabecera">
@foreach($actividades as $activ)
@if($a->id == $activ->id)
{{ $a->actividad }}
@else
{{ $a->actividad }} Something different!!
@endif
@endforeach
</div>
@endforeach
答案 2 :(得分:0)
不要在彼此之内做这些循环。创建一个查找数组
$activities = array();
@foreach($todasactividades as $a) {
$activities[$a->id] = $a->id;
}
然后进行主循环并检查您的活动是否已设置
<div class="marco-cabecera">
@foreach($actividades as $activ)
@if(isset($activities[$activ->id]))
{{ $a->actividad }}
@else
{{ $a->actividad }} Something different!!
@endif
@endforeach
</div>
答案 3 :(得分:0)
您可以尝试关注,不需要使用@if
和<?php
标记或其他变量:
@foreach($todasactividades as $a)
<div class="marco-cabecera">
@foreach($actividades as $activ)
{{ $a->actividad }}
{{ $a->id != $activ->id ? 'Something different!!' : '' }}
@endforeach
</div>
@endforeach