select 在 laravel 8 blade 中输入 select 的旧值
select the old value with select input in laravel 8 blade
如何在 Laravel 8 blade 中编辑旧值 select 并在编辑表单中输入 select ....我试过这种方式但没有工作:
<select name="category" id="category" class=" @error('category') border-red-500 @enderror rounded-md shadow-sm mt-1 block w-full">
@foreach($categories as $category)
<option value="{{$category->id}}" {{ old('category', $category->id) ? 'selected' : '' }}>{{ $category->name }}</option>
@endforeach
</select>
这就是控制器内部的内容:
public function edit(Product $product)
{
$categories = Category::all();
return view('dashboard.products.edit', compact('categories', 'product'));
}
我认为你的产品应该有一个 category_id
所以在循环中你还需要检查它 $product->category_id === $category->id
.
@foreach($categories as $category)
<option value="{{$category->id}}" {{ old('category', $category->id) || $product->category_id === $category->id ? 'selected' : '' }}>{{ $category->name }}</option>
@endforeach
基于 edit()
中的代码,方法 old()
将不起作用。因为没有旧值,因为你的代码只是 return a view.If 你需要使用那个函数然后你需要使用输入重定向
return redirect()->back()->withInput();
如何在 Laravel 8 blade 中编辑旧值 select 并在编辑表单中输入 select ....我试过这种方式但没有工作:
<select name="category" id="category" class=" @error('category') border-red-500 @enderror rounded-md shadow-sm mt-1 block w-full">
@foreach($categories as $category)
<option value="{{$category->id}}" {{ old('category', $category->id) ? 'selected' : '' }}>{{ $category->name }}</option>
@endforeach
</select>
这就是控制器内部的内容:
public function edit(Product $product)
{
$categories = Category::all();
return view('dashboard.products.edit', compact('categories', 'product'));
}
我认为你的产品应该有一个 category_id
所以在循环中你还需要检查它 $product->category_id === $category->id
.
@foreach($categories as $category)
<option value="{{$category->id}}" {{ old('category', $category->id) || $product->category_id === $category->id ? 'selected' : '' }}>{{ $category->name }}</option>
@endforeach
基于 edit()
中的代码,方法 old()
将不起作用。因为没有旧值,因为你的代码只是 return a view.If 你需要使用那个函数然后你需要使用输入重定向
return redirect()->back()->withInput();