Изменить статус автоматически после добавления ревизии - PullRequest
0 голосов
/ 08 июля 2019

У меня есть 2 формы, первая форма motorbikes с 3 полями (matriculation, number_motorbike, status).

enter image description here

Затем у нас есть форма revisions с 4 полями (date_revision_start, date_revision_end, garage, fk_motorbike)

enter image description here

Здесь в форме motorbikes статус номера мотоцикла должен быть автоматически unavailable.

enter image description here

Надо ли работать на каком контроллере для автоматизации статуса готовности мотоцикла?

Редактировать: 09/07/2018

Контроллер мотоцикла

public function store(Request $request)
    {      

       $bikeIdsDown = Revision::where('date_revision_start', "<", Carbon::now())->where('date_revision_end', ">", Carbon::now())->pluck('id')->toArray();

       return view('motorbikes.index', compact('motorbikes', 'bikeIdsDown'));

        }

Index.blade.php

@foreach($motorbikes as $bike)
          <tr>
            <td>{{ $bike->martriculation }}</td>
            <td>{{ $bike->number_motorbike }}</td>
            <td>
             @if(in_array($bike->id, $bikeIdsDown))
              UNAVAILABLE
              @else
              Available
            @endif</td>
            <td>
                          <form action="{{ route('motorbikes.destroy', $motorbike->id) }}" method="post">

                            {{ csrf_field() }}
                            {{ method_field('DELETE') }}
                            <a href="" class="btn btn-primary">Details</a>
                            <a href="{{ url('motorbike/' .$motorbike->id. '/edit') }}" class="btn btn-warning">Editer</a>
                @csrf
                @method('DELETE')

                            <button type="submit" class="btn btn-danger">Supprimer</button>
                        </form>

                    </td>
                </tr>
                @endforeach

enter image description here

1 Ответ

1 голос
/ 08 июля 2019

Чтобы отобразить список мотоциклов, которые недоступны, вам необходимо поработать на вашем контроллере мотоциклов . В частности, метод edit(), если вы вносите изменения в статус вручную, метод create(), если вы делаете новый мотоцикл, или, скорее всего, метод show(), чтобы просто отобразить ту таблицу, которая у вас есть выше, где она показывает если они есть или нет.

Теперь ... чтобы получить часть, где он отображается, если мотоцикл недоступен ... Я предполагаю, что он недоступен, когда он остановлен для ремонта (ревизия). Поскольку я не знаю, каковы ваши отношения, мы можем выяснить это с помощью простого извлечения всех ревизий, чтобы увидеть, какие велосипеды должны быть в данный момент отключены. Итак, в одном из тех методов, которые я отметил выше (или во всех них), сначала давайте посмотрим, какие велосипеды будут недоступны для пересмотра в текущее время:

$bikeIdsDown = Revision::where('date_revision_start', "<" Carbon::now())->where('date_revision_end', ">", Carbon::now())->pluck('id')->toArray();

Не самый эффективный, но, надеюсь, самый простой способ следовать.

Теперь, когда у нас есть эти недоступные идентификаторы мотоциклов, если мы сжимаем их и отправляем их на страницу лезвия, мы можем определить, писать «доступные» или «недоступные» в области мотоциклов. Итак, пока вы просматриваете мотоциклы на странице лезвия, возможно, что-то вроде этого:

@foreach($motorbikes as $bike) 
    {{$bike->martriculation }}  // <-- these might all be in <td> or something
    {{$bike->number}}
    @if(in_array($bike->id, $bikeIdsDown))
        UNAVAILABLE
    @else
        Available
    @endif
@endforeach

Надеюсь, это даст вам идею.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...