Laravel返回flash消息

时间:2017-03-07 18:37:08

标签: laravel laravel-5 laravel-5.3 flash-message

我试图根据功能的结果返回一条flash消息但是我真的不知道如何正确地做到这一点,有人可以帮我解决这个问题吗?

控制器:

 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');
}); 

2 个答案:

答案 0 :(得分:1)

解决方案:

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

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

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

答案 1 :(得分:0)

如果您将require(dplyr) require(DT) df <- matrix(rnorm(8 * 12), nrow=8, ncol=12) brks <- quantile(df, probs = seq(.05, .95, .05), na.rm = TRUE) clrs <- sapply(round(seq(255, 40, length.out = length(brks) + 1), 0), function(x) rgb(255, x, x, maxColorValue = 255)) df <- data.frame(df) datatable(df) %>% formatStyle(names(df), backgroundColor = styleInterval(brks, clrs)) 作为Flash参数名称传递,请使用它,而不是message

status