Как определить значения GET в методе show (laravel) - PullRequest
0 голосов
/ 02 октября 2019

В моем ClientController@index у меня есть форма с выбором ввода для перечисления каждого клиента в базе данных.

После отправки формы для получения подробной информации о клиенте, URL похож на /clients?client_id=id.

Маршруты имеют значение по умолчанию с route::resource().

<form name="show_client" id="show_client">
      <div class="form-group">
          <label for="branch"><b>Selectione o Cliente</b></label>
          <select class="form-control select2" name="client_id" id="client_id" required>
              <option value="">Selecione o Cliente</option>
              @foreach ($list as $client)
                  <option value="{{ $client->client_id }}">{{ $client->name }} </option>
              @endforeach
           </select>
      </div>
      <hr />
      <div class="form-group">
          <button type="submit" class="btn btn-primary btn-rounded">Listar Cliente</button>
      </div>
</form>
<script>
          $(function() {
           $('#show_client').submit(function(){
             var client_id = $('#client_id').val();
             $(this).attr('action', "/clients/" + client_id);
           });
          });
</script>

Есть ли способ работы с URL-адресом / clients / id?

Я выполняю это с помощью функции js, но это явно не решение.

Ответы [ 2 ]

0 голосов
/ 02 октября 2019

Вы должны прослушать событие изменения в списке выбора:

<script>
$(function() {
    $('#client_id').change(function(){
        var client_id = $(this).val();
        $('#show_client').attr('action', "/clients/" + client_id);
    });
});
</script>
0 голосов
/ 02 октября 2019

Вы знаете, что можете сделать параметр в маршруте необязательным. Таким образом, он может принять маршрут без параметра. Затем вы добавляете параметр при отправке формы

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