【问题标题】:Laravel redirect with data not workingLaravel 重定向数据不起作用
【发布时间】:2014-03-05 20:31:20
【问题描述】:

我的应用程序是一个简单的 CRUD 应用程序。我有一个删除控制器操作,当项目被成功删除时,它会重定向回列表。我现在要添加的是向用户发送数据已成功删除的消息。

我的控制器动作:

public function deleteItem($id)
{
    try {
        $item = Item::findOrFail($id);
        $item->delete();
        return Redirect::to('list')->with('message', 'Successfully deleted');
    } catch (ModelNotFoundException $e) {
        return View::make('errors.missing');
    }
}

list.blade.php 视图中我尝试显示消息的部分:

@if (isset($message))
    <div class="alert alert-success alert-dismissable">
        <button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
        {{ $message }}
    </div>
@endif

我遇到的问题是$message 变量始终为空..

【问题讨论】:

    标签: php laravel blade


    【解决方案1】:

    由于 with 方法将数据闪烁到会话中,您可以使用典型的Session::get 方法检索数据。

    所以你必须得到 ​​p>

    $message = Session::get('message');
    

    【讨论】:

      【解决方案2】:

      您可以在刀片模板上使用它:

      @if( Session::has('message') )
          <div class="alert alert-success alert-dismissable">
              <button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
              {{ Session::get('message') }}
          </div>
      @endif
      

      参考: easylaravelblog

      【讨论】:

        【解决方案3】:

        你可以查看APP/kernel.php并寻找这个:

        \Illuminate\Session\Middleware\StartSession::class,
        

        检查它是否像这个例子一样被多次定义:

        protected $middleware = [
        \Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
        \Illuminate\Session\Middleware\StartSession::class,
        ];
        
        protected $middlewareGroups = [
        'web' => [
            \App\Http\Middleware\EncryptCookies::class,
            \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
            \Illuminate\Session\Middleware\StartSession::class,
            \Illuminate\View\Middleware\ShareErrorsFromSession::class,
            \App\Http\Middleware\VerifyCsrfToken::class,
            \Illuminate\Routing\Middleware\SubstituteBindings::class,
        ],
        

        您可以评论两者中的任何一个或将其删除。我们只需要定义一次。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-02-18
          • 1970-01-01
          • 2012-09-13
          • 1970-01-01
          • 2023-04-08
          相关资源
          最近更新 更多