我的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
列
答案 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