php - 在 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
但是我经常单独看到 undefined vairalble 他们工作得很好但是当我想要用户两个变量都看到 undefined vairable 时。
解决方案
你可以写
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
推荐阅读
- swift - 多个文件中带有 Codable 的属性包装器的 Swift 编译错误
- gcc - 像 CodeBlocks 这样的 IDE 中的链接器、编译器、汇编器和精化器是什么?
- c++ - 当给定计算机生成的随机数输入时,如何反转数组的输出?
- python - 我如何在 mysql 上使用“user”表而不是 django 站点默认的“auth_user”表?
- java - 没有错误,但游戏一直停止并要求我关闭它
- json - 将 JSON 数组解组为 JSON 对象
- matlab - Matlab double() 为 sym 返回 0
- javascript - 网页不滚动时的功能
- javascript - 将 react-route 链接集成到 Material UI 列表中
- c++ - 当 i 不是常量表达式时,寻址 std::tuple 的第 i 个成员?