Способ вызова функции в контроллере - PullRequest
0 голосов
/ 03 октября 2018

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

public function result(Request $request)
{
    $request->validate([
        'username' => [
            'required', 'alpha_num', new ExistingUser, new UserNotAdmin
        ]
    ]);

    $username = $request->username;
    $user = User::where('name', $username)->select('id')->first();

    return (new InvitationController)->show($user->id);
}

Ответы [ 2 ]

0 голосов
/ 06 октября 2018

да, это лучший способ вызова функции в контроллере без использования какого-либо метода для создания экземпляра InvitationController.

return (new InvitationController)->show($user->id); 
0 голосов
/ 03 октября 2018

Вместо этого вы можете перенаправить его с помощью действия перенаправления, соответствующего методу show в InvitationController

redirect()->action(
    'InvitationController@show', ['id' => $user->id]
);

, для получения более подробной информации см. https://laravel.com/docs/5.7/redirects#redirecting-controller-actions

Или вы можете использовать

app(InvitationController::class')->show($user->id)

непосредственно в контроллере для доступа к функциям других контроллеров

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