提问人:Karansxa 提问时间:11/17/2023 更新时间:11/17/2023 访问量:41
Laravel 10 ID 问题
Laravel 10 ID issue
问:
我有这个刀片代码,显示用户列表
<div class="container-fluid">
<div class="row">
<div class="col-12">
<div class="breadcrumb-main">
<h4 class="text-capitalize breadcrumb-title">User List </h4>
<div class="breadcrumb-action justify-content-center flex-wrap">
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="#"><i class="uil uil-estate"></i>Home</a></li>
<li class="breadcrumb-item active" aria-current="page">User List</li>
</ol>
</nav>
</div>
</div>
</div>
<div class="col-lg-12 mb-30">
<div class="card mt-30">
<div class="card-body">
@if ($message = Session::get('success'))
<div class=" alert alert-success alert-dismissible fade show " role="alert">
<div class="alert-content">
<p>{{ $message }}</p>
<button type="button" class="btn-close text-capitalize" data-bs-dismiss="alert"
aria-label="Close">
<img src="{{ asset('backend/img/svg/x.svg') }}" alt="x" class="svg"
aria-hidden="true">
</button>
</div>
</div>
@endif
<div class="col-12">
<div class="breadcrumb-main">
<h4 class="text-capitalize breadcrumb-title">User Management</h4>
<div class="breadcrumb-action justify-content-center flex-wrap">
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
@can('user-add')
<li
class="{{ Request::is('admin/' . app()->getLocale() . '/users') ? 'active' : '' }}">
<a class="btn btn-success text-white btn-lg"
href="{{ route('users.create', app()->getLocale()) }}">Create User</a>
@endcan
</ol>
</nav>
</div>
</div>
</div>
@can('user-list')
<div style="overflow-x:auto;">
<table class="table">
<thead>
<tr>
<th>Name</th>
<th>Email</th>
<th>Role</th>
<th>Actions</th>
</tr>
</thead>
<tbody>
@foreach ($users as $user)
<tr>
<td>
<div class="d-flex">
<div class="userDatatable-inline-title">
<h6>{{ $user->name }}</h6>
</div>
</div>
</td>
<td>
<div class="userDatatable-content">{{ $user->email }}</div>
</td>
<td>
@foreach ($user->roles as $role)
<span
class="dm-tag tag-secondary tag-transparented">{{ $role->name }}</span>
@endforeach
</td>
<td>
<ul class="orderDatatable_actions mb-0 d-flex flex-wrap">
@can('user-edit')
<li>
<a
href="{{ route('users.edit', ['language' => app()->getLocale(), 'id' => $user->id]) }}">
<i class="uil uil-edit"></i>
</a>
</li>
@endcan
@can('user-delete')
<li>
<a href="{{ route('users.destroy', ['language' => app()->getLocale(), 'id' => $user->id]) }}"
onclick="event.preventDefault(); document.getElementById('delete-form-{{ $user->id }}').submit();">
<i class="uil uil-trash"></i>
</a>
<form id="delete-form-{{ $user->id }}"
action="{{ route('users.destroy', ['language' => app()->getLocale(), 'id' => $user->id]) }}"
method="POST" style="display: none;">
@csrf
@method('DELETE')
</form>
</li>
@endcan
</ul>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
@endcan
</div>
</div>
</div>
</div>
</div>
这是我的控制器代码
public function editUser($id)
{
$user = User::find($id);
dd($id);
if (!$user) {
abort(404); // or handle the missing user in a custom way
}
$roles = Role::all();
$language = app()->getLocale();
return view('backend.users.edit', compact('user', 'roles', 'language'));
}
这是 Web.php 路由代码
Route::group(['middleware' => 'auth'], function () {
Route::group(["prefix" => "admin"], function () {
Route::group(['prefix' => '{language}'], function () {
Route::get('users/{id}/edit', [UserController::class, 'editUser'])->name('users.edit')->where('id', '[0-9]+');
Route::put('users/{id}', [UserController::class, 'updateUser'])->name('users.update')->where('id', '[0-9]+');
Route::delete('users/{id}', [UserController::class, 'destroyUser'])->name('users.destroy')->where('id', '[0-9]+');
});
});
});
现在问题出在控制器上,当我调用 id 时,它传递语言“en”而不是用户 ID。这是dd代码“en” // app\Http\Controllers\backend\Users\UserController.php:57 我想在其中传递用户 ID。
答: 暂无答案
评论
id
{{ route('users.edit', ['language' => app()->getLocale(), 'id' => $user->id]) }}
language
{{ route('users.edit', ['language' => app()->getLocale(), 'id' => $user->id]) }}
id
language
{{ route('users.edit', ['id' => $user->id, 'language' => app()->getLocale()]) }}