как перенаправить обратно с сообщениями в laravel с помощью inertiajs (jetstream)

Я хочу перенаправить обратно с сообщением об ошибке в laravel.

В настоящее время я использую laravel 8 и инерцию 0.8.2.

вот что я хочу сделать:

              try {
            $center->delete();
        } catch (\Illuminate\Database\QueryException $e) {
            if ($e->errorInfo[0] == '23000')
                return Redirect::back()->with('error', 'hey you cant do this bla bla...');
        }

и по инерции:

            <jet-error-message :message="error"></jet-error-message>

Я не могу получить это в реквизите! также я пытался получить доступ через $page.props.error но это не работает.

Спасибо.

1 ответ

хорошо, я нашел простое решение:

сначала найдите промежуточное ПО инерции, которое выполняется в каждом запросе инерции:

      App\Http\Middleware\HandleInertiaRequests

затем добавьте данные, которыми хотите поделиться share метод

      
    /**
     * Defines the props that are shared by default.
     *
     * @see https://inertiajs.com/shared-data
     * @param  \Illuminate\Http\Request  $request
     * @return array
     */
    public function share(Request $request)
    {
        return array_merge(parent::share($request), [
            'error' => session('error', false),
        ]);
    }
Другие вопросы по тегам