Повторно использовать маршрут ресурса пользователя для текущего пользователя - PullRequest
0 голосов
/ 03 июня 2019

Я создал маршрут ресурса для пользователей.

Route::resource('users', 'UsersController');

Мой контроллер обрабатывает путь /user/1/edit в моем контроллере пользователей следующим образом:

public function edit(User $user)
{
    $this->authorize('update', $user);
    ...

Шаблон дляэта страница: resources/views/users/edit.blade.php.

Как определить новый маршрут, /user/edit, который динамически пропускает текущего пользователя и повторно использует метод edit(User $user), а также повторно использует тот же шаблон представления?

Ответы [ 2 ]

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

Ваш метод edit() необходимо изменить, чтобы условно принять модель User.Затем вам нужно проверить, прошел ли $user, иначе предположим, что требуется текущий пользователь:

public function edit(User $user = null)
{
    $user = $user ?: auth()->user();

    $this->authorize('update', $user);

    ...

и создать новый маршрут:

Route::get('user/edit', 'UsersController@edit')
0 голосов
/ 03 июня 2019

Попробуйте:

Route::get('users/{user}/edit', 'UserController@edit')->name(edit-user);

Затем введите идентификатор пользователя в маршрут, например:

route('edit-user', ['user'=>$user->id]);

Надеюсь, это поможет вам.

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