Laravel CRUD удалить параметры маршрута - PullRequest
1 голос
/ 01 июня 2019

Id 'хотел бы использовать контроллер CRUD для обработки профиля администратора. Я создал контроллер и отредактировал мои маршруты / web.php следующим образом.

Route::group(['prefix' => 'admin', 'namespace' => 'Admin', 'as' => 'admin.', 'middleware' => ['auth:admin']], function(){
    Route::resource('profile', 'ProfileController')->only(['index', 'edit', 'update', 'destroy']);
});

Это создает следующие маршруты.

admin/profile -> admin.profile.index
admin/profile/{profile} -> admin.profile.destroy
admin/profile/{profile} -> admin.profile.update
admin/profile/{profile}/edit -> admin.profile.edit

Поскольку я получаю admin_id через сеанс, мне не нужно получать его через URL через параметр профиля. Я знаю, что могу просто игнорировать параметр, но это делает URL-адрес ненужным долго. Есть ли шанс удалить параметр {profile} из маршрутов, чтобы мои маршруты были такими, как teacher / profile / edit , а не как teacher / profile / 12345678 / edit ?

Ответы [ 3 ]

4 голосов
/ 01 июня 2019

Вы можете использовать отдельные маршруты вместо ресурса для вашей отдельной операции. Как

For index operation you can use:-
Route::get('profile', 'ProfileController@index');
For destroy operation you can use:-
Route::delete('profile', 'ProfileController@destroy');
For edit operation you can use:-
Route::put('profile', 'ProfileController@edit');

И вы можете отправить свой admin_id на входе или из сессии. Надеюсь, это будет работать для вас:)

1 голос
/ 01 июня 2019

Да, вы можете удалить часть {profile}, если сначала вызовете нужный профиль в контроллере, например:

public function edit(){
    $teacher = Auth::user();
    return view('teacher.profile.edit', compact('teacher'));
}

А внутри страницы просмотра (учитель / профиль / редактировать) вы можетеНазовите данные так:

<form method="post" action="{{ route('teacher.profile.update', $teacher->id) }}">
    @method('PATCH')
    @csrf
    ID: <input type="text" name="id" value={{ $teacher->id}} />
    <button type="submit">Update</button>
</form>

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

1 голос
/ 01 июня 2019
  • Да, вы можете удалить эти перикулярные параметры из маршрута.
  • , но вместо этого вам нужно отправить данные профиля через переменную post
  • Невозможно отправить данные вкаждое перенаправление.

Я предлагаю вам использовать «Слизни» вместо идентификатора профиля

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