【问题标题】:select the old value with select input in laravel 8 blade在 laravel 8 刀片中使用选择输入选择旧值
【发布时间】:2021-10-23 01:48:33
【问题描述】:

如何使用编辑表单中的选择输入在 Laravel 8 刀片中选择旧值....我尝试过这种方式但没有奏效:

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

【问题讨论】:

  • 你能用更多的细节来编辑你的问题吗,比如select标签和你的控制器里面有什么?谢谢
  • 做到了............

标签: laravel select laravel-blade


【解决方案1】:

我认为你的产品应该有一个category_id,所以在循环中你还需要检查它$product-&gt;category_id === $category-&gt;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 redirect()-&gt;back()-&gt;withInput();

【讨论】:

    猜你喜欢
    • 2021-06-02
    • 2018-11-21
    • 2023-03-13
    • 2016-06-08
    • 2021-01-12
    • 2015-07-03
    • 1970-01-01
    • 2021-12-15
    • 2023-03-19
    相关资源
    最近更新 更多