У меня есть таблица комнаты, в которой есть поле под названием «статус» (значение enum: Active или Nonactive). Значение по умолчанию для поля статуса - Неактивно, когда я добавляю данные в таблицу комнаты.

На панели инструментов я хочу отображать данные только тогда, когда статус Активен. И если нет данных со статусом «Активно» (все неактивно), я хочу отобразить такое пустое пространство со словами, чтобы уведомить пользователя о том, что активная комната все еще недоступна. Итак, как настроить его в Laravel. Я пробовал, но до сих пор не знаю об этом. Вот код:

<div class="card-body">
    <!-- if there's no Active room, show this -->
    <div class="p-4 text-center">
        <small class="font-italic centering-auto">Nothing</small>
    </div>
    
    <!-- if there's Active room, show this -->
    @foreach ($diklats->where('status', 'Aktif')->take(5) as $diklat_list)
    <div class="transaction-item">
        <a href="javascript:void(0)" class="text-dark">
            <div class="media">
                @php ($icons = ["bg-light-primary","bg-light-success","bg-light-danger","bg-light-warning", "bg-light-info"])
                <div class="avatar {{$icons[$loop->index]}} rounded">
                    <div class="avatar-content">
                        <i data-feather="book" class="avatar-icon font-medium-3"></i>
                    </div>
                </div>
                <div class="media-body ml-1">
                    <h6 class="transaction-title">{{$diklat_list->name}}</h6>
                    <small>{{$diklat_list->userDiklat->where('is_approve',1)->count()}} peserta</small>
                </div>
            </div>
        </a>
        <div class="font-weight-bolder text-danger"></div>
    </div>
    @endforeach
</div>

Заранее спасибо

1
Khairunnisa Syahfitri 11 Окт 2021 в 10:27

2 ответа

Лучший ответ

Используйте красноречивый счетчик Laravel

@if($diklats->where('status', 'Aktif')->count())

Чтобы проверить, есть ли активные комнаты.

 <div class="card-body">
         <!-- if Active room, show this -->
            @if($diklats->where('status', 'Aktif')->count())
            @foreach ($diklats->where('status', 'Aktif')->take(5) as $diklat_list)
            <div class="transaction-item">
                <a href="javascript:void(0)" class="text-dark">
                    <div class="media">
                        @php ($icons = ["bg-light-primary","bg-light-success","bg-light-danger","bg-light-warning", "bg-light-info"])
                        <div class="avatar {{$icons[$loop->index]}} rounded">
                            <div class="avatar-content">
                                <i data-feather="book" class="avatar-icon font-medium-3"></i>
                            </div>
                        </div>
                        <div class="media-body ml-1">
                            <h6 class="transaction-title">{{$diklat_list->name}}</h6>
                            <small>{{$diklat_list->userDiklat->where('is_approve',1)->count()}} peserta</small>
                        </div>
                    </div>
                </a>
                <div class="font-weight-bolder text-danger"></div>
            </div>
            @endforeach
           @else
             <!-- if no Active room, show this -->
           <div class="p-4 text-center">
            <small class="font-italic centering-auto">Nothing</small>
           </div>
    
           @endif
    </div>
1
Sajad Karuthedath 11 Окт 2021 в 07:41

Попробуйте, как показано ниже

<div class="card-body">
    <!-- if there's no Active room, show this -->
    <div class="p-4 text-center">
        <small class="font-italic centering-auto">Nothing</small>
    </div>
    
    <!-- if there's Active room, show this -->
    $active_statuses = $diklats->where('status', 'Aktif')->take(5);
    @if(count($active_statuses) > 0 )
@foreach ( as $diklat_list)
    <div class="transaction-item">
        <a href="javascript:void(0)" class="text-dark">
            <div class="media">
@php ($icons = ["bg-light-primary","bg-light-success","bg-light-danger","bg-light-warning", "bg-light-info"])
                <div class="avatar {{$icons[$loop->index]}} rounded">
                    <div class="avatar-content">
                        <i data-feather="book" class="avatar-icon font-medium-3"></i>
                    </div>
                </div>
                <div class="media-body ml-1">
                    <h6 class="transaction-title">{{$diklat_list->name}}</h6>
                    <small>{{$diklat_list->userDiklat->where('is_approve',1)->count()}} peserta</small>
                </div>
            </div>
        </a>
        <div class="font-weight-bolder text-danger"></div>
    </div>
@endforeach
    @else
    {{ Do your stuff here }}
    @endif
</div>
0
Mainul Hasan 11 Окт 2021 в 07:34