我尝试成功在Laravel 5.8中保存parent_id
中的Category
,但是现在我想编辑类别。
CategoryController.php
public function edit(Category $category)
{
return view('Admin.categories.edit', compact('category'));
}
public function update(CategoryRequest $request, Category $category)
{
$category->update($request->all());
return redirect(route('categories.index'));
}
edit.blade.php
<form action="{{ route('categories.update', $category->id) }}" method="post">
{{ method_field('PATCH') }}
{{ csrf_field() }}
@include('Admin.layouts.errors')
<div class="form-group">
<label for="name">Name</label>
<input type="text" class="form-control" value="{{ old('name') ? : $category->name }}" id="name" name="name">
</div>
<div class="form-group">
<label for="parent_id">Sub Category</label>
<select class="form-control" id="parent_id" name="parent_id" data-live-search="true">
@foreach(\App\Category::all() as $category)
<option value="{{ $category->id }}" {{ trim($category->id) , $category->pluck('id')->toArray() ? 'selected' : '' }}>{{ $category->name }}</option>
@endforeach
</select>
</div>
<button type="submit" class="btn btn-primary">Save</button>
</form>
例如,我在数据库中具有以下类别。
id name parent_id
1 Software 0
2 Hardware 0
3 Photoshop 1
4 CoredDraw 1
例如,如果用户选择CorelDraw进行编辑,请为其打开编辑。选择name
输入标签,编写CorelDraw。选择parent_id
选项标签,然后选择“软件”。因为这是parent_id = 0。
答案 0 :(得分:2)
您需要对代码进行一些基本的改进,在模型或控制器中练习射击查询
刀片文件不适用于从数据库中加载数据
控制器
sdk.dir = /home/username/Android/Sdk/
刀片
public function edit(Category $category)
{
$allCategory = \App\Category::all();
return view('Admin.categories.edit', compact('category','allCategory'));
}
一旦用户开始输入其他类别名称,您需要使用任何客户端脚本重置选择框