Laravel 未定义的变量$attributes(视图:C:\xampp\htdocs\rainbow\resources\views\dashboard\options\edit.blade.php)——两个模型之间的关系

Laravel 未定义的变量$attributes(视图:C:\xampp\htdocs\rainbow\resources\views\dashboard\options\edit.blade.php)——两个模型之间的关系,laravel,Laravel,有两个模态属性及其选项 “选项编辑刀片”中现在存在的问题 这部分代码在create.blade中正常工作 **但在edit.blade**中显示此错误 然后我尝试用几种方法将这个变量添加到控制器中,但仍然出现相同的错误 你可以在下面找到我的密码,请帮帮我 编辑刀片服务器 <div class="form-body"> <h4 class="form-section"> <i class="ft

有两个模态属性及其选项

“选项编辑刀片”中现在存在的问题

这部分代码在create.blade中正常工作

**但在edit.blade**中显示此错误

然后我尝试用几种方法将这个变量添加到控制器中,但仍然出现相同的错误

你可以在下面找到我的密码,请帮帮我

编辑刀片服务器

<div class="form-body">
    <h4 class="form-section">
        <i class="ft-home"></i> Option name
    </h4>
    <div class="row">
        <div class="col-md-6">
            <div class="form-group">
                <label for="projectinput1"> Choose a feature
                </label>
                <select name="attribute_id" class="select2 form-control" >
                    <optgroup label="Choose a feature ">
                        @if($attributes && $attributes -> count() > 0)
                            @foreach($attributes as $attribute)
                                <option
                                    value="{{$attributes -> id }}">{{$attributes -> name}}</option>
                            @endforeach
                        @endif
                    </optgroup>
                </select>
                @error('attribute_id')
                <span class="text-danger"> {{$message}}</span>
                @enderror
            </div>
        </div>
选项型号

public function options() {
    return $this->hasMany(Option::class, 'attribute_id');
}
public function attribute() {
    return $this->belongsTo(Attribute::class, 'attribute_id');
}
控制器

public function edit($id)
{
    //get specific options and its translations

    $option = Option::orderBy('id', 'DESC')->find($id);
    if (!$option)
        return redirect()->route('admin.options')->with(['error' => 'this option is not available']);

    return view('dashboard.options.edit', compact('option'));
}

public function update($id, OptionsRequest $request)
{
    try {
        //validation

        //update DB

        $option = Option::find($id);
        if (!$option)
            return redirect()->route('admin.options')->with(['error' => 'this option is unavailable']);

        if (!$request->has('is_active'))
            $request->request->add(['is_active' => 0]);
        else
            $request->request->add(['is_active' => 1]);

        $option->update($request->except('_token', 'id'));

        //save translations
        $option->name = $request->name;
        $option->save();

        DB::commit();

        return redirect()->route('admin.options')->with(['success' => 'success']);
    } catch (\Exception $ex) {
        return redirect()->route('admin.options')->with(['error' => 'fail, try again later']);
    }
}

我在控制器中找不到任何要发送到刀片服务器的$attributes变量

所以,当您不向刀片服务器发送数据时,就不可能在刀片服务器中使用该数据

把它送到刀片上

或者,您可以将$options放在@foreach中,然后获得每个选项的属性,如下所示:

@foreach($options as $option)
    $option->attributes
@endforeach

在编辑方法中没有$attributes,您应该编写$option来代替$attributes edit.blade.php,
这回答了你的问题吗?