在 laravel 5.6 中将多个变量传递给一个视图
passing multiple variable to one view in laravel 5.6
大家好我想将多个变量传递给一个视图
这是我的 CategoryController.php
public function site()
{
$categories = Category::all();
return view('template.sitemap', ['categories' => $categories]);
}
这是SubCategoryController.php
public function index2(){
$subcategories = SubCategory::all();
return view('template.sitemap',['subcategories'=>$subcategories]);
}
这是我在 web.php
中执行此操作的路线
Route::get('sitemap.html','CategoryController@site')->name('sitemap')
Route::get('sitemap.html','SubCategoryController@index2')->name('sitemap');
这是我正在尝试的视图 sitemap.blade.php
@foreach($categories as $category)
<li><a href="category.html">{{$category->name}}</a></li>
<ul>
@foreach($subcategories as $subcategory)
<li><a href="category.html">{{$subcategory->category_name->name}</li>
@endforeach
</ul>
@endforeach
但我经常看到 undefind vairalble
他们一个人工作很好
但是当我想要用户两个变量时,看到未定义的变量。
你可以写
public function site()
{
$categories = Category::all();
$subcategories = SubCategory::all();
return view('template.sitemap', compact('categories', 'subcategories');
}
或者你可以预先加载这个
public function site()
{
$categories = Category::with('subcategories')->get();
return view('template.sitemap', compact('categories');
}
可见
@foreach($categories as $category)
<li><a href="category.html">{{$category->name}}</a></li>
<ul>
@foreach($category->subcategories as $subcategory)
<li><a href="category.html">{{$subcategory->name}}</li>
@endforeach
</ul>
@endforeach
您的网站将转到第一条路线,永远不会转到您的第二个控制器。
你应该写。
路线
Route::get('sitemap.html','CategoryController@site')->name('sitemap');
控制器
public function site(){
$data = array();
$data['subcategories'] = SubCategory::all();
$data['categories'] = Category::all();
return view('template.sitemap',compact("data"));
}
查看
@foreach($data['categories'] as $category)
<li><a href="category.html">{{$category->name}}</a></li>
<ul>
@foreach($data['subcategories'] as $subcategory)
<li><a href="category.html">{{$subcategory->category_name->name}}</li>
@endforeach
</ul>
@endforeach
大家好我想将多个变量传递给一个视图
这是我的 CategoryController.php
public function site()
{
$categories = Category::all();
return view('template.sitemap', ['categories' => $categories]);
}
这是SubCategoryController.php
public function index2(){
$subcategories = SubCategory::all();
return view('template.sitemap',['subcategories'=>$subcategories]);
}
这是我在 web.php
Route::get('sitemap.html','CategoryController@site')->name('sitemap')
Route::get('sitemap.html','SubCategoryController@index2')->name('sitemap');
这是我正在尝试的视图 sitemap.blade.php
@foreach($categories as $category)
<li><a href="category.html">{{$category->name}}</a></li>
<ul>
@foreach($subcategories as $subcategory)
<li><a href="category.html">{{$subcategory->category_name->name}</li>
@endforeach
</ul>
@endforeach
但我经常看到 undefind vairalble 他们一个人工作很好 但是当我想要用户两个变量时,看到未定义的变量。
你可以写
public function site()
{
$categories = Category::all();
$subcategories = SubCategory::all();
return view('template.sitemap', compact('categories', 'subcategories');
}
或者你可以预先加载这个
public function site()
{
$categories = Category::with('subcategories')->get();
return view('template.sitemap', compact('categories');
}
可见
@foreach($categories as $category)
<li><a href="category.html">{{$category->name}}</a></li>
<ul>
@foreach($category->subcategories as $subcategory)
<li><a href="category.html">{{$subcategory->name}}</li>
@endforeach
</ul>
@endforeach
您的网站将转到第一条路线,永远不会转到您的第二个控制器。 你应该写。
路线
Route::get('sitemap.html','CategoryController@site')->name('sitemap');
控制器
public function site(){
$data = array();
$data['subcategories'] = SubCategory::all();
$data['categories'] = Category::all();
return view('template.sitemap',compact("data"));
}
查看
@foreach($data['categories'] as $category)
<li><a href="category.html">{{$category->name}}</a></li>
<ul>
@foreach($data['subcategories'] as $subcategory)
<li><a href="category.html">{{$subcategory->category_name->name}}</li>
@endforeach
</ul>
@endforeach