2016-12-29 60 views
1

我想發送它們存在的additional_feature數組到flash消息。現在我只發送一個additional_feature。任何建議我該怎麼做?如何將數組傳遞給flash消息?

if(!empty($additional_features)){ 
      foreach($additional_features as $additional_feature){ 
      $data = [ 
       'name' => $additional_feature, 
      ]; 
      if (!Feature::where('name', '=', $additional_feature)->exists()) { 
       $additional = Feature::firstOrCreate($data); 
       $additional_ids[] = $additional->id; 
      } 
      else{ 
       return redirect()->back()->withFlashMessage($additional_feature . ' exists!'); 
      } 

      } 
     } 

回答

1

可以使用session(),而不是with()

session->flash('someVar', $someArray); 

你可以嘗試的另一件事是seriallize陣列,並把它作爲字符串。然後取消它並使用。

此外,您可以使用簡單的會話保存數組:

session(['someVar' => $someArray]); 

然後把它和手動刪除:

session('somevar'); 
session()->forget('someVar'); 
+0

即時得到這個錯誤:無法訪問受保護的財產照亮\ HTTP \ RedirectResponse :: $ session – None

+0

當您嘗試從會話中獲取保存的數據時,是否獲取了此屬性?如果是這樣,請分享代碼。另外,我添加了兩種方法來完成此任務。 –

+0

當我使用像這樣:$ exists_features [] = $ additional_feature; return redirect() - > back() - > session(['exists'=> $ exists_features]); 我得到方法[會話]不存在重定向。 – None

0
return redirect()->back()->with(['session1' => $value, 'session2' => $value]); 

在刀片模板:

{{ Session::get('session1') }} 
{{ Session::get('session2') }} 
+0

我想傳遞一個數組,然後只是在視圖中顯示該數組 – None

+0

' - > with($ array)'應該沒問題。 – Michel

+0

好的如果我使用 - > with($ array),我將如何在視圖中顯示該消息? :) – None

1

我們遇到了同樣的問題,並且分叉了包。你可以在這裏找到:

Forked at first from Laracasts/Flash to use multiple message

@if (Session::has('flash_notification.message')) 
@if (Session::has('flash_notification.overlay')) 
    @include('flash::modal', ['modalClass' => 'flash-modal', 'title' => Session::get('flash_notification.title'), 'body' => Session::get('flash_notification.message')]) 
@else 
    <div class="alert alert-{{ Session::get('flash_notification.level') }}"> 
     <button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button> 

     {!! Session::get('flash_notification.message') !!} 
    </div> 
@endif 
@endif 

而且包括閃存::模式的內容

@if (Session::has('flash_notification.messages')) 
@foreach (Session::get('flash_notification.messages') as $flashMessage) 
    @foreach($flashMessage as $type => $message) 
     <script> 
      $(function() { 
       var message = ('{{ $message }}<br>').replace(/'/g, "&#8217;"); 
       customFlashMessage({ 
        type: "{{ $type }}", 
        message: message 
       }); 
      }); 
     </script> 
    @endforeach 
@endforeach 
@endif