【问题标题】:isset is not working in laravelisset 在 laravel 中不起作用
【发布时间】:2018-07-08 16:15:17
【问题描述】:

我正在将一个变量从控制器发送到视图。

$message = "Thanks for Contacting";

 return redirect('services')->with($message);

HTML

 @isset ($message)
 <a style="color: red;"> {{$message}} </a>
@endisset

但它显示错误,因为当第一个 services 是从该路由加载时 Route::get('/services', function () { return view('services'); });

没有变量,所以它给出了错误。请让我知道我缺少什么?

【问题讨论】:

    标签: laravel isset


    【解决方案1】:

    问题在于如何将变量传递给视图。

    正确的做法是:

    return view('services')->with('message', $message);
    

    或

    return view('services')->withMessage($message);
    

    或

    return view('services', ['message' => $message]);
    

    或

    return view('services', compact('message'));
    

    【讨论】:

      【解决方案2】:

      你必须将它与@if一起使用, 试试这个:

      @if(session()->has('message'))
       <a style="color: red;"> {{ session('message')}} </a>
      @endif
      

      并像这样更改您的控制器:

      return redirect('services')->with('message', $message);
      

      【讨论】:

      • 感谢您的回复。它似乎正在工作,因为没有出现错误,但没有出现消息。
      • @AkAk 很高兴为您提供帮助
      • 为什么标签中没有出现消息?
      • 你的意思是这部分:&lt;a style="color: red;"&gt; {{$message}} &lt;/a&gt; ?
      【解决方案3】:

      在redirect()-&gt;with() 中设置的变量将保存到会话变量中,所以要访问它只需调用session() 助手。示例:

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

      更多解释: https://laravel.com/docs/5.6/redirects#redirecting-with-flashed-session-data

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-10-04
        • 2016-10-29
        • 1970-01-01
        • 2023-03-28
        • 2016-04-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多