Получить идентификатор из сетки элементов и сохранить в переменной

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

Сетка клиентов

Эта кнопка отправляет меня на отдельный экран, который напрямую связан с выбранным клиентом, когда это происходит, URL-адрес выглядит следующим образом:

http://sistemaprueba.com/modulos?1

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

Это моя сетка:

<div class = "row">
    <div class = "table-responsive">
        <table class = "table">
            <thead>
            <tr>
                <th>Nombre Cliente</th>
                <th>Ingresar</th>
            </tr>
            </thead>
            <tbody>
                @foreach($results as $result)
                    <tr>
                        <td>{{$result->nombre_cliente}}</td>
                        <td><a href = "{{ route ('modulos',[$result->id])}}" class = "btn-box-tool" ><i class = "fas fa-sign-in-alt" aria-hidden = "true"></i></a>
                    </tr>
                @endforeach
            </tbody>
        </table>
    </div>
</div>

Это путь к новому скриму:

Route::get('/modulos', 'HomeController@modulos')->name('modulos');

и мой контроллер выглядит так:

class ClientController extends Controller
{
    public function __construct()
    {
        $this->middleware('auth');
    }

    public function index()
    {
        $id = \Auth::user()->id;

        $results = DB::table('clients')->join('clients_company', 'clients_company.fk_id_client', '=', 'client.id')
            ->where('clients_company.fk_id_usuar',$id)->get();

        return view('clients',compact('results'));
    }

    public function modulos()
    {
        return view('modulos');
    }
}
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
0
0
62
1

Ответы 1

Вы можете изменить свой href на "/ modulos / 1", а свой маршрут и контроллер на:

// route
Route::get('/modulos/{clientId}', 'HomeController@modulos')->name('modulos');

// controller
public function index($clientId)
{
  // Use $clientId
}

Или укажите именованный параметр в своем URL-адресе, например "/ modulos? ClientId = 1", затем:

// route (unchanged)
Route::get('/modulos', 'HomeController@modulos')->name('modulos');

// controller
public function index()
{
  $clientId = request()->input('clientId');
  ...
}

В качестве альтернативы вы можете проанализировать URL-адрес с помощью PHP-функции parse_url () в вашем контроллере, чтобы извлечь GET-часть URL-адреса, которой вы можете манипулировать. Не самое чистое решение. http://php.net/manual/en/function.parse-url.php

Для ваших целей может быть предпочтительнее первый метод.

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