Laravel return 快讯

Laravel return flash message

我正在尝试 return 根据函数的结果发送一条闪现消息,但我真的不知道如何正确地执行此操作,有人可以帮我解决这个问题吗?

控制器:

 public function postDB(Requests\NameRequest $request) {
    $newName = trim($request->input('newName'));
    $newLat = $request->input('newCode');
    $websites = new Website();
    $websites->name = $newName;
    $websites->html = $newLat;
    $websites->save();
    if ($websites->save())
    {
    $message = 'success';
    }else{
    $message = 'error';
    }
    return redirect()->back()->withInput()->with('message', 'Profile updated!');
}

要求:

   public function authorize()
    {
        return true;
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {   
    return [
       'img' => 'file|image',
    ];   
    }
    public function messages()
    {
        return [
            'img.image' => 'File type is not supported! Use files with extension .jpg/.jpeg/.gif',
        ];
    }

模板:

@if (session('status'))
@if (session('status')=="success")
    <div class="alert alert-success">
        {{ session('message') }}
    </div>
@else
    <div class="alert alert-error">
       {{ session('message') }}
    </div>
@endif
@endif

路线:

Route::group(['middleware' => ['web']], function () {

    Route::get('home', 'BuilderController@homepage');
    Route::get('pages', 'BuilderController@websites');
    Route::get('template', 'BuilderController@templates');
    Route::post('template2', 'BuilderController@postDB');
    Route::post('template', 'BuilderController@testing');
    Route::get('logout', 'BuilderController@getLogout');
    Route::get('/website/{name}', 'BuilderController@website');
}); 

解法:

这个问题可能只有一个原因。

只有在中间件网络中注册 laravel 才会传递 flash 消息

Route::group(['middleware' => ['web']], function () {
   //The back()'s url should be registered here
});

更新:

您似乎需要使用消息和输入重定向回来

所以,你可以这样做

if ($request->hasFile('img')) {
    $message = 'success';
    } else {
    $message = 'error';
}
return redirect()->back()->withInput()->->with('message', $message);

更新 2:

@if (session('status'))
@if (session('status')=="success")
    <div class="alert alert-success">
        Congrats! Everything was fine
    </div>
@else
    <div class="alert alert-error">
       Oops! Something went wrong
    </div>
@endif
@endif

注意:您可以将状态参数传递给您的愿望

如果您将 message 作为闪存参数名称传递,请使用它,而不是 status

@if (session('message'))
@if (session('message')=="success")
    <div class="alert alert-success">
        Congrats! Everything was fine
    </div>
@else
    <div class="alert alert-error">
       Oops! Something went wrong
    </div>
@endif
@endif