Радио-кнопка почты Laravel - PullRequest
0 голосов
/ 07 мая 2019

Я хочу отправить значение переключателя классу, проблема в том, что имя каждый раз отличается, потому что у меня есть идентификатор, чтобы наконец сгруппировать его в представлении, как я могу сослаться на это имя?

@foreach($users as $user)
<tr>
    <td>{{ $user->id }}</td>
    <td>{{ $user->name }}</td>
    <td>{{ $user->email }}</td>

    <td>
        <form method="post" action="updateprivileges/{{$user->id}}">
            @csrf 
            <div class="row">
                <div class="col-4">
                    <input type="radio" value="1" class="flat" name="privileges_{{ $user->id }}" {{ $user->privileges[0]['roles_id'] == '1' ? 'checked' : '' }} > <div class="uprawnienia-margin">Administrator</div>
                </div>
                <div class="col-4">
                    <input type="radio" value="2" class="flat" name="privileges_{{ $user->id }}" {{ $user->privileges[0]['roles_id'] == '2' ? 'checked' : '' }} > <div class="uprawnienia-margin">Serwisant</div>
                </div>
                <div class="col-4">
                    <input type="radio" value="3" class="flat" name="privileges_{{ $user->id }}" {{ $user->privileges[0]['roles_id'] == '3' ? 'checked' : '' }} > <div class="uprawnienia-margin">Monter</div>
                </div>
            </div>
            <input type="submit" name="add" class="btn btn-primary input-lg" value="Przeslij" />
        </form>
    </td>
</tr>
@endforeach

1 Ответ

0 голосов
/ 07 мая 2019

У вас есть динамические атрибуты имени. Вы должны изменить это на статические, чтобы вы всегда могли получить правильное значение в вашем контроллере, где вы получаете полезную нагрузку. И не забудьте использовать правильный HTTP Method.

<form method="post" action="{{ URL::to('/updateprivileges/' . $user->id)}}">
    @csrf

    <input type="radio" name="privilege" value="1"> Administrator</br>
    <input type="radio" name="privilege" value="2"> Serwisant</br>
    <input type="radio" name="privilege" value="3"> Monter</br>
    <input type="submit" value="Przeslij">
</form>

Объявить маршрут в routes/web.php:

// put method
Route::post('updateprivileges/{id}', 'UserController@updatePrivileges');

Теперь ваш UserController получает переменную privilege в Request $request:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class UserController extends Controller
{
    public function updatePrivileges(Request $request, $id)
    {
        $privilege = $request->input('privilege');
        dd($privilege); // dumps $privilege and dies
        // more code, perhaps save the users privilege
    }
}

Надеюсь, это поможет.

Возможно, вы захотите проверить Спуфинг метода Laravel и Put, Post, Patch . Поскольку вы знаете пользователя (по идентификатору), вы можете переключиться на метод PUT или PATCH.

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