0

質問があります。ユーザーが画像を持っているかどうかを確認するミドルウェアを作成しました。それ以外の場合は、画像アップロード ページに移動し、画像をアップロードする必要があります。残念ながら、私のミドルウェアではリダイレクト関数が機能しません (理由はわかりません!) 代わりに、応答関数を使用する必要があります。リダイレクト機能のような応答機能を使用してフラッシュ メッセージを送信するにはどうすればよいですか? うまくいけば、あなたはそれで私を助けることができます.

<?php

namespace App\Http\Middleware;

use Closure;
use Illuminate\Http\Request;

class CheckUserDataMiddleware
{
    /**
     * Handle an incoming request.
     *
     * @param Request $request
     * @param Closure $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        // Checking through relations if the User has already an image
        if (empty(auth()->user()->profile->image)) {
            return response()
                ->view('pages.image.create', [], 200)
                ->header('Content-Type', $type = '');

            // return redirect()
            //     ->route('image.create')
            //     ->with('info', trans('To complete your profile, we request you to upload a clear photo of yourself.'));
        }

        return $next($request);
    }
}

4

1 に答える 1

0

私は次のように問題を解決しました

public function handle($request, Closure $next)
    {
        // Checking through relations if the User has already an image
        if (empty(auth()->user()->profile->image)) {
            if (!$request->routeIs('image.create')) {
                if (!$request->isMethod('post')) {
                    return redirect()
                        ->route('image.create')
                        ->with('info', trans('To complete your profile, we request you to upload a clear photo of yourself.'));
                }
            }
        }
        return $next($request);
    }
于 2020-04-27T10:34:48.877 に答える