#laravel
Вопрос:
Я пытаюсь получить выбранную опцию для команды, выбранной в моей форме, чтобы в дальнейшем использовать ее в той же форме для ограничения доступных позиций в выбранной команде.
Мне удалось ограничить каждую команду, чтобы в ней было максимум 9 игроков.
Идея в том, чтобы есть -2 игроков на каждой позиции( 2 вперед, 2 Центр, 2 назад, 3 заменителей) для каждой команды, если места заняты «позиции» (исх. вперед) вариант не для выбранной команды.
Может быть полезным : я использую внешние ключи : (проигрыватель -> position_id одна команда -> много игроков)
своей позиции таблица состоит из идентификатора, имени и Макс и это передается как позиции в долларах
Я пытаюсь найти способ, я новичок в этой теме, так что, если вы, ребята, сможете мне помочь, было бы здорово.
Или скажите мне, если это невозможно.
Заранее спасибо.
<form action="/player" method="POST" enctype="multipart/form-data" class="form-control">
@csrf
...
<div class="mb-3">
<select name="team_id">
<option selected>Select Team</option>
@foreach ($teams as $team)
@if ($team->players->count() < 9)
<option value="{{ $team->id }}">{{ $team->name }}</option>
@endif
@endforeach
</select>
</div>
<div class="mb-3">
<select name="position_id">
<option selected>Select Position</option>
@foreach ($teams as $team)
@if ($team->id == ???)
@foreach ($positions as $position)
@if ($position->count() > $position->max)
<option value="{{ $position->id }}" disabled>{{ $position->name }}</option>
@else
<option value="{{ $position->id }}">{{ $position->name }}</option>
@endif
@endforeach
@endif
@endforeach
</select>
</div>
...
<button type="submit" class="btn btn-primary">submit</button>
</form>
```
Комментарии:
1. Вы хотите, чтобы это работало только на а) только на первом рендере, или б) вам нужно было обновить его при обновлении поля выбора? Если ваш ответ b, то вам нужно изучить возможность использования Laravel Livewire, AlpineJS, Vue, React или другого языка на стороне клиента, который может реагировать на ваше событие select fields onchange.
2. @Azeame Должно быть достаточно только первого рендеринга, так как это учебный проект. Но я продолжаю изучать livewire для использования в будущем, спасибо.