如何在选择选项(parent_id)中显示默认值?

时间:2019-05-22 04:28:33

标签: laravel laravel-5.8

我尝试成功在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。

1 个答案:

答案 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'));
}
  

一旦用户开始输入其他类别名称,您需要使用任何客户端脚本重置选择框

相关问题