Я работаю с 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');
}
}






Вы можете изменить свой 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
Для ваших целей может быть предпочтительнее первый метод.