视图中未定义的变量,Laravel 5.3

时间:2016-10-14 07:05:57

标签: model-view-controller views laravel-5.3

您好我试图将我的数据从数据库显示到我在Laravel 5.3中的视图

但我有这个错误

  

未定义变量:来宾(查看:C:\ Users \ NtechB02-Chu \ Desktop \ laravel_projects \ 2fplaza \ resources \ views \ admin \ guests.blade.php)

这是我的申报路线

Route::resource('/guests', 'GuestController');

和我的控制器

  public function index()
{

  $guests = DB::table('users')->where('roles_id', '2')->orderBy('id')->chunk(10, function($guests) {
      foreach ($guests as $guest) {
          echo $guest->firstname . $guest->lastname;
      }

      return false;
  });

  return view('admin.guests', ['users' => $guests]);
}

最后我的观点文件

  

@foreach($ guest as $ guest)     {{$ guest->姓名}}

     

@endforeach

我希望你能帮助我们。谢谢!

3 个答案:

答案 0 :(得分:1)

我找到了解决方案!

我没有在我的控制器内进行查询,而是放在AppServiceProvider下的App / Providers文件夹

use View;
use Illuminate\Support\Facades\DB;

public function boot()
  {
    $guests = DB::table('users')->where('roles_id', '2')->first();

    View::share('guest', $guests);
  }

我很想在我的观点中访问它

答案 1 :(得分:0)

返回视图('admin.guests',['guests'=> $ guests]); 或者你也可以这样做。

返回视图('admin.guests') - >('来宾',$来宾) - > render();

答案 2 :(得分:0)

  

您已向用户发送变量,如何在forloop中获取来宾    这样做

 public function index()
{

  $guests = DB::table('users')->where('roles_id', '2')->orderBy('id')->chunk(10, function($guests) {
      foreach ($guests as $guest) {
          echo $guest->firstname . $guest->lastname;
      }

      return false;
  });

  return view('admin.guests',compact('guests'));
}