沃梦达 / 编程问答 / php问题 / 正文

Laravel:我不能将超过 2 个变量从控制器发送到视图

Laravel: i can#39;t send more then 2 variables from controller to a view(Laravel:我不能将超过 2 个变量从控制器发送到视图)

本文介绍了Laravel:我不能将超过 2 个变量从控制器发送到视图的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

所以我试图从控制器向视图发送一些查询,但是当尝试使用第三个变量时,它说:

So i am trying to send some query from the controller to a view but when try use the third variable it says:

未定义变量:type(View:)

Undefined variable: type(View:)

我在控制器中使用的代码是:

The code i'm using is this in the controller :

    $doc=DB::table('documents')
        ->join('users', 'users.id', '=', 'documents.id_user')
        ->join('type_docs', 'type_docs.id', '=', 'documents.id_tipo_doc')
        ->join('departments', 'departments.id', '=', 'documents.id_departamento')
        ->select('documents.*', 'type_docs.type', 'users.name','departments.abbreviation')
        ->get();
  $user=DB::table('users')
  ->select('users.*')
  ->get();
  $type=DB::table('type_docs')
  ->select('type_docs.*')
  ->get();


        //$doc = Document::all();
  return view('dashboard',['doc'=>$doc],['user'=>$user],['type'=>$type]);

并在视图中:

       @foreach($type as $types)
                  <option value="{{$types->id}}">{{$types->type}}</option>
       @endforeach

推荐答案

你应该返回一个数组:

return view('dashboard',['doc'=>$doc,'user'=>$user,'type'=>$type]);

我们还有其他方式:

return view('dashboard', array('doc'=>$doc,'user'=>$user,'type'=>$type));

return view('dashboard', compact('doc','user','type'));

return view('dashboard')
            ->with('doc', $doc)
            ->with('user', $user)
            ->with('type', $type);

return view('dashboard')            //using laravel Magic method.
            ->withDoc($doc)
            ->withUser($user)
            ->withType($type);

这篇关于Laravel:我不能将超过 2 个变量从控制器发送到视图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:Laravel:我不能将超过 2 个变量从控制器发送到视图

基础教程推荐