使用未定义的常量品牌-假设为“品牌”

时间:2019-08-27 10:44:00

标签: php laravel

我的route项目中有以下laravel

 Route::get('/',[

   'uses' => 'MakeController@index'

  ]);

Controller

   class MakeController extends Controller{


    public function index(){

        $makes = MakeType::all();        
        return View::make('Index', $makes);
        // tried this
        //  return view('Index',compact('makes'));
    }
}

index.blade.php

<select>
       <option>Select Make</option>
             @foreach($makes as $make)

                 <option>{{$make->name}}</option>

             @endforeach
</select>           

问题:

问题是当我尝试加载index页面时,它显示了以下错误

  

使用未定义的常量make-假定为“ makes”(这将在以后的PHP版本中引发错误)(查看:/customers/6/1/4/alle-voertuigen.nl/httpd.www/resources/ views / Index.blade.php)

我已经访问了所有可能的链接,并尝试了不同的操作方式,但没有任何帮助。

这是我执行dd($makes)时显示的内容,在attributes中有name

enter image description here 请帮助我,谢谢

3 个答案:

答案 0 :(得分:0)

在控制器中使用with

return View::make('Index')->with(compact('makes'));

应该工作。

答案 1 :(得分:-1)

如果使用这种方式返回视图,则必须使用with添加参数:

return View::make('Index')->with('makes', $makes);

我建议您使用view帮助程序,但我不知道您使用的是哪个Laravel版本:

return view('Index', ['makes' => $makes]);

仅需确保,如果不将变量作为数组传递(使用compact['myVariable' => $var]),它将无法正常工作

答案 2 :(得分:-2)

class MakeController extends Controller {
    public function index() {

        $makes = MakeType::all();        
        return View::make('index', $makes);
        // tried this
        //  return view('index',compact('makes'));
    }
}

index而非Index