嵌套视图未从 Laravel 5.1 中的控制器接收数据


Nested view not receiving data from controller in Laravel 5.1

从文档中,我们将数据从控制器传递到Laravel视图的方式类似于

return view('someview')->with('key', $data);

所以我尝试将我的查询结果传递给查看

$data = DB::table('user')->where('confirmation_status',1)->get();
return view('admin.presidentConfirmed')->with('data',$data);

但从总统确认来看,里面没有数据。所以我试着用{{ Session::all() }}看看会话中是否有任何东西。

无。。。

所以我尝试只传递纯文本

return view('admin.presidentConfirmed')->with('test','value');

还是没有...

它似乎只发生在这个特定的视图上。因为我将->with()与许多其他视图一起使用而没有任何问题。

总裁确认

@extends('layout.main')
@section('content')
@stop

布局.主要

@include('layout/component.menu')
<div class="container" id="main_container">
  <div class="well">
    @yield('content')
  </div>
  @if(Config::get('app.debug') == true)
    <div class="well">
      {{ var_dump(Session::all()) }}
    </div>
  @endif
</div>
<script src="/js/jquery.min.js"></script>
<script src="/js/bootstrap.min.js"></script>
@yield('script')
@if(Config::get('applicationConfig.release') == 'release' && Config::get('applicationConfig.mode') != 'close' && Config::get('applicationConfig.mode') != 'technical_difficulties')
<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
  ga('create', 'UA-73122311-1', 'auto');
  ga('send', 'pageview');
</script>
@endif

来自 laravel 文档

当然,视图也可以嵌套在 resources/views目录。例如,如果您的视图存储在 resources/views/admin/profile.php,它应该像这样返回:

return view('admin.profile', $data);

因此,在您的情况下,它应该是:

return view('admin.presidentConfirmed',$data);
我想

通了,实际上是我混淆了与Redirect::一起使用的->with()和与view()

一起使用的->with()

Redirect::to('/somepage')->with('key','value)是将其数据存储在会话中并使用Session::get('key')检索数据的会话。

view('someview')->with('key','value')不会将其数据存储在会话中,而是使用{{ $key }}检索数据