微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

根据状态隐藏记录

如何解决根据状态隐藏记录

如果状态为 == 'Terminado',我需要隐藏记录。

它是用一个 if 条件完成的,但我不知道如何应用它

enter image description here

blade.PHP

  <tbody>
                                    @foreach($registros as $registro)
                                       @if($registro->sucursal == Auth::user()->sucursal) 
                                       @if($registro->empleado == Auth::user()->tipo) 
                             
                               
                                        <tr>
                                            <td>{{$registro->cliente}}</td>
                                            <td>{{$registro->tipo}}</td>
                                            <td>
                                                <div class="progress br-30">

                                                @if($registro->estado == 'Ingresado') 
                                                <div class="progress-bar br-30 bg-primary" role="progressbar" style="width: 20%" aria-valueNow="67" aria-valuemin="0" aria-valuemax="100"></div>
                                                @elseif($registro->estado == 'Envío de Prespuesto') 
                                                 <div class="progress-bar br-30 bg-secondry" role="progressbar" style="width: 40%" aria-valueNow="67" aria-valuemin="0" aria-valuemax="100"></div>
                                                 @elseif($registro->estado == 'Anticipo Recibido') 
                                                 <div class="progress-bar br-30 bg-warning" role="progressbar" style="width: 60%" aria-valueNow="67" aria-valuemin="0" aria-valuemax="100"></div>
                                                 @elseif ($registro->estado == 'En Reparación') 
                                                 <div class="progress-bar br-30 bg-danger" role="progressbar" style="width: 80%" aria-valueNow="67" aria-valuemin="0" aria-valuemax="100"></div>
                                                 @elseif ($registro->estado == 'Terminado') 
                                                 <div class="progress-bar br-30 bg-success" role="progressbar" style="width: 100%" aria-valueNow="67" aria-valuemin="0" aria-valuemax="100"></div>
                                                 @elseif ($registro->estado == 'Cancelado') 
                                                 <div class="progress-bar br-30 bg-danger" role="progressbar" style="width: 100%" aria-valueNow="67" aria-valuemin="0" aria-valuemax="100"></div>


                                                @endif

                                                    
                                                </div>
                                            </td>
                                            <td>{{$registro->estado}}</td>
                                            <td>{{ ($registro->created_at->format('d-m-Y')) }}</td>
                                            <td> @if($registro->presupuesto == null) No Aplicado @else ${{$registro->presupuesto}} @endif</td>
                                            <td class="text-center">
                                                <div class="dropdown custom-dropdown">
                                                    <a class="dropdown-toggle" href="#" role="button" id="dropdownMenuLink1" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
                                                        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-more-horizontal"><circle cx="12" cy="12" r="1"></circle><circle cx="19" cy="12" r="1"></circle><circle cx="5" cy="12" r="1"></circle></svg>
                                                    </a>
                                                    <div class="dropdown-menu" aria-labelledby="dropdownMenuLink1">
                                                    <a class="dropdown-item" href="{{route('detalle',$registro)}}">Ver</a>
                                                        <a href="{{route('editar',$registro)}}" class="dropdown-item" href="javascript:void(0);">Actualizar</a>
                                                        <a class="dropdown-item" href="javascript:void(0);">Borrar</a>
                                                    </div>
                                                </div>
                                            </td>
                                        </tr>
                                        @elseif($registro->estado == 'Terminado') 
                                        
                                        @endif
                                        @endif
                                        @endforeach
                                    </tbody>

如果状态字段是 == Terminado

,则 foreach 不应显示

但是如果它没有完成状态,如果它应该显示记录

控制器:

 public function registros(){

        if (Auth::guest()) return redirect('/login');

        $data = [
            'category_name' => 'datatable','page_name' => 'multiple_tables','has_scrollspy' => 0,'scrollspy_offset' => '','fechax' => Carbon::Now(),];

      

        $registros = \App\Models\Registro::All();
       
        return view('pages.tables.table_dt_multiple_tables',compact('registros'))->with($data);
   


    }

附加刀片控制器 附加刀片控制器 请帮助

解决方法

您可以在循环内使用 continue 跳过当前项目。

@foreach($registros as $registro)
    @if ($registro->estado == 'Terminado')
        @continue
    @endif

    <!-- Rest of the template -->
@endforeach

不过,我更愿意在控制器中处理。

class RegistroController extends Controller
{
    public function registros(){
        if (Auth::guest()) return redirect('/login');
        $data = [
            'category_name' => 'datatable','page_name' => 'multiple_tables','has_scrollspy' => 0,'scrollspy_offset' => '','fechax' => Carbon::now(),];
        $registros = \App\Models\Registro::where('estado','<>','Terminado')->get();

        return view('pages.tables.table_dt_multiple_tables',compact('registros'))->with($data);
    }
}
,

您也可以在控制器中执行此操作,您在其中进行查询:

Registro::where('estado','!=','Terminado')->get();

PS:我假设您的模型名称是 Registro

,

如果记录状态为“Terminado”,您只想从 foreach 中排除? 刀片

@foreach($registros as $registro)
 @if($registro->status != 'Terminado')
   //.....

或在控制器中,您可以在查询数据库时排除此行。 对于结束状态和其他状态,还有另一种方法,这取决于您的要求,即 SoftDeletes。也许使用它可以帮助您从查询中排除是否在大多数情况下不需要完成状态,或者只是在准时情况下您可以检索此数据。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。