Php 拉拉维尔4号-弗雷奇中的弗雷奇

Php 拉拉维尔4号-弗雷奇中的弗雷奇,php,foreach,laravel-4,blade,Php,Foreach,Laravel 4,Blade,我正在用@foreach显示一些内容。但是如果这个数据与来自另一个@foreach的任何数据匹配,我想以不同的方式显示该内容 这是我的代码: @foreach($todasactividades as $a) <div class="marco-cabecera"> @foreach($actividades as $activ) @if($a->id == $activ->id)

我正在用@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
@foreach($todaactividades为$a)
@foreach($actividades作为$activ)
@如果($a->id==$activ->id)
@elseif($a->id!=$activ->id)
@如果($bandera)
{{$a->actividad}
@elseif(!$bandera)
{{$a->actividad}}有些不同!!
@恩迪夫
@恩迪夫
@endforeach
@endforeach
我尝试了一些不同的东西,所以现在我觉得我的代码乱七八糟

有人知道我怎么修吗


提前谢谢

这将清理代码并修复一些逻辑问题

@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
@foreach($todaactividades为$a)
@foreach($actividades作为$activ)
@如果($a->id==$activ->id)
{{$a->actividad}
@否则
{{$a->actividad}}有些不同!!
@恩迪夫
@endforeach
@endforeach

不要在彼此内部进行这些循环。创建查找数组

$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>

@foreach($actividades作为$activ)
@如果(设置($activities[$activ->id]))
{{$a->actividad}
@否则
{{$a->actividad}}有些不同!!
@恩迪夫
@endforeach

您可以尝试以下操作,如果
我已通过这种方式解决了此问题,则无需使用
@

@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
@foreach($todaactividades为$a)
@foreach($actividades作为$activ)
@如果($a->id==$activ->id)
@恩迪夫
@endforeach
@如果($bandera==0)
{{$a->actividad}
@否则
{{$a->actividad}
@恩迪夫
@endforeach

在评估模板中的结果之前,应将两个数据源放在一起。这将使模板代码更容易,并从中删除业务逻辑,将其移动到更适合的位置。
@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