【发布时间】:2020-01-31 11:48:38
【问题描述】:
我有一个运行良好的模型的基本 CRUD 结构。现在我想重定向到 create 方法并使用预先存在的模型填充表单。它可以通过用户选择一个 id 来工作,然后我会选择该模型并重定向到创建页面并填充表单。
这是我迄今为止尝试过的
$order = Orders::find($id);
$inventory = Inventory::where(['id' => $order->inventory_id])->first()->toArray();
return redirect()->route('backend.inventory.create', $inventory['bag_id'])->withInput($inventory);
在上面的示例中,它找到订单并选择与其相关的单个库存项目(我已经确认它肯定是按预期选择库存项目)并重定向到库存创建页面。但是,当使用 ->withInput() 方法时,这似乎并没有像我预期的那样用数据填充我的表单。
如何使用重定向将数据传递到表单?
按照以下要求添加表单代码。这只是表单的一列,因为它是一个巨大的代码块
<div class="form-group row" id="item-name" v-if="type != '3'">
<label for="name" class="col-md-2 col-form-label text-md-right">Item Name</label>
<div class="col-md-6">
<input id="name" type="text" class="form-control" name="name" value="{{ old('name') }}" required>
@if ($errors->has('name'))
<span class="invalid-feedback" role="alert">
<strong>{{ $errors->first('name') }}</strong>
</span>
@endif
</div>
</div>
【问题讨论】:
-
您的
backend.inventory.create文件是什么样的? -
您可以简单地使用紧凑方法并更改 return redirect()->route('backend.inventory.create', $inventory['bag_id'])->withInput($inventory);返回 redirect()->route('backend.inventory.create', $inventory['bag_id'])->with(compact('inventory'));
-
@zlatan 我已经为部分视图添加了代码,表单很大,所以我只包含了其中的一部分
-
withInput() 用于重定向,而不是在返回视图页面期间。
-
@Oops 这不是我的代码在做什么吗?它在做重定向?还是我误会了?