Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 未定义变量:Blade Laravel 6.4.0中的类别_Php_Laravel_Laravel Blade_Laravel 6 - Fatal编程技术网

Php 未定义变量:Blade Laravel 6.4.0中的类别

Php 未定义变量:Blade Laravel 6.4.0中的类别,php,laravel,laravel-blade,laravel-6,Php,Laravel,Laravel Blade,Laravel 6,我试图用下面的控制器在站点地图页面上显示我的类别 CategoryController.php 类分类控制器扩展控制器 { 公共函数create() { $categories=类别 ::orderBy('name','desc') ->其中('parent_id',NULL) ->get(); 返回视图('admin.category.create',compact('categories'); } } 以下是我的Blade文件的一部分,我在其中使用了categories变量模板 creat

我试图用下面的控制器在站点地图页面上显示我的类别

CategoryController.php

类分类控制器扩展控制器
{
公共函数create()
{
$categories=类别
::orderBy('name','desc')
->其中('parent_id',NULL)
->get();
返回视图('admin.category.create',compact('categories');
}
}
以下是我的Blade文件的一部分,我在其中使用了categories变量模板

create.blade.php


父类别
@foreach($category作为$category的主要类别)
{{$category->name}
@endforeach
我使用各种方法获取变量并传递,但没有一种不起作用。您有什么建议吗?

您有两种选择。 选项A:

您在控制器中命名了集合
类别
,并将其传递给视图。要在视图中访问它,需要使用相同的名称引用它

更改此项:

// Your view is looking for a collection titled `main_categories`, which does not exist
@foreach ($main_categories as $category)
  <option value="{{ $category->id }}">{{ $category->name }}</option>
@endforeach
return view('admin.category.create', compact('categories'));
为此:

@foreach ($categories as $c)
  <option value="{{ $c->id }}">{{ $c->name }}</option>
@endforeach
return view('admin.category.create', [
    'main_categories' => $categories
]);

您可以在

上阅读更多内容,以便更清楚地了解。我将按如下方式中断您的代码并添加一些详细信息

    class CategoriesController extends Controller
{
    public function create()
    {
        $categories = Category
                  ::orderBy('name','desc')
                  ->where('parent_id', NULL)
                  ->get();
// Your are passing variable but I change it as below to be more clear

     //   return view('admin.category.create', compact('categories'));
//now you are passing the value to the view
          return view('admin.category.create', ['categories' => $categories]);
    }
}
现在让我们在视图中捕捉它。请注意,现在$categories在视图中可用。如果您传递了
['A'=>$categories]
,则视图具有
$A
变量,因此您应该调用在控制器中定义的相关变量。

   <div class="form-group">
        <label for="exampleInputPassword1">Parent Category</label>
        <select name="parent_id" class="form-control">
**{{-- In here you should pass $categories --}}**
            @foreach ($categories as $category)
                <option value="{{ $category->id }}">{{ $category->name }}</option>
            @endforeach
        </select>
    </div>

父类别
**{{--在这里您应该传递$categories--}**
@foreach($categories作为$category)
{{$category->name}
@endforeach

您没有试图在视图的该部分中使用
$categories
$main\u categories
应该是
$categories