PHP Laravel-从子目录返回视图

时间:2018-09-30 03:14:19

标签: php laravel

我正在尝试从子目录返回视图,但是当使用下面的代码时,出现错误“未定义的变量:folder1”

Route::get('/', function () {
return view("folder1/page1");
});

Route::get('/', function () {
return view("/folder1/page1");
});

Route::get('/', function () {
return view("folder1.page1");
});

视图“ page1”位于名为folder1的文件夹中,例如...

如何返回不在同一目录中的视图?

3 个答案:

答案 0 :(得分:2)

在laravel中,默认情况下,视图存储在resources/views目录中。您的视图page1.blade.php文件位于resources/views/folder1目录中。要返回视图,我们可以如下使用全局view帮助器,

return view('folder1.page1');

对于上述情况,您可以这样做

Route::get('/',function(){
  return view('folder1.page1');
});

如果您想将数据传递到视图中,可以采用多种方法, 你可以用这个

$data1= 'Sample data 1';
return view('folder1.page1',['data1'=>$data1]);

$data1 = 'Sample data 1';
returnn view('folder1.page1')->with('data1',$data1);

$data1 = 'Sample data 1';
return view('folder1.page1')->compact('data1');

答案 1 :(得分:1)

您可以尝试以下操作

Route::get('/', function () {
   return view("folder1.page1",compact('products'));
});

答案 2 :(得分:0)

问题不在于视图本身,问题在于您没有传递视图中用于渲染产品数据的view$product变量。

尝试这样的事情:

Router::get('/', function() {
  return view('folder1.page1', ['products' => App\Product::all()]);
}