2016-12-29 17 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