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