Я не могу получить значение запроса из входного значения в laravel

ОБНОВЛЕНИЕ: Я только что узнал, что $request может получить только input name, поэтому мне пришлось изменить форму радиобокса, чтобы input name был другим.

Итак, я работаю с ролями и разрешениями в laravel, и я использую пакет spatie для ролей и разрешений https://github.com/spatie/laravel-permission, но я застрял в форме радиобокса. Я пытаюсь дать администратору возможность изменить роль пользователя на его панели инструментов, но значение, которое я получаю из радиобокса, всегда остается последним.

Это форма в моем edit.blade.php

<div class = "form-group">
      <label for = "user-role">Role</label>
      <br />
      <label class = "radio-inline">
        <input type = "radio" name = "optradio" value = "admin" @if ($user->hasRole('admin')) checked @endif> Admin </input>
      </label>
      <label class = "radio-inline">
        <input type = "radio" name = "optradio" value = "manager" @if ($user->hasRole('manager')) checked @endif> Menager </input>
      </label>
      <label class = "radio-inline">
        <input type = "radio" name = "optradio" value = "user" @if ($user->hasRole('user')) checked @endif> User </input>
      </label>
    </div>

А это функция в моем UsersController.php

$request['admin'] ? $user->assignRole('admin') : $user->removeRole('admin');
$request['manager'] ? $user->assignRole('manager') : $user->removeRole('manager');
$request['user'] ? $user->assignRole('user') : $user->removeRole('user');

Теперь $request получает input name вместо value, и поскольку имя такое же, и я не могу его изменить, потому что он нарушает мою форму, он получает последний и всегда регистрируется как user

Я думаю, вам нужно изменить разные значения имени для каждого ввода.

entoniperez 19.11.2018 10:07
@if ($user->hasRole('admin')) checked @endif - Это выглядит неправильно. Во-вторых, разве $request не является объектом класса Request, а не массивом?
Script47 19.11.2018 10:08

@entoniperez Я пробовал это и работал, но проблема в том, что теперь мои радиобоксы не работают, теперь я могу выбрать несколько радиобоксов, и они не снимают отметку

Ardit Imeri 19.11.2018 10:17
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
3
1 126
1

Ответы 1

Получает ли ваш контроллер значение, которое вы отправляете из своей формы

Если да, попробуйте получить доступ к дате с помощью

$request->get('admin');

Надеюсь, это сработает :)

Я пробовал этот метод, но теперь форма ничего не отправляет в базе данных :(

Ardit Imeri 19.11.2018 10:20

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

Ardit Imeri 19.11.2018 10:30

Вы имеете в виду, что вы не получаете контроллер не получает информацию из формы?

Devaux 19.11.2018 10:47

Другие вопросы по теме