我想将warehouse_id
保存到我的数据库中,但是当我在提交表单后在控制器中dd($request->all())
时,warehouse_id
返回NULL
这是我的控制器代码:
public function receivedAll(Request $request, ItemPR $item_code)
{
$item_code = $request->item_code;
$pr_qty = $request->pr_qty;
$warehouse_id = $request->warehouse_id;
dd($request->all());
}
这是我的刀片模板文件:
<form enctype="multipart/form-data" role="form" method="POST" action="{{route('inventory.receivedAll') }}">
{{ csrf_field() }}
<div class="form-group">
<label for="input-warehouse_id">Warehouse List</label>
<div class="form-group">
<select class="custom-select" name="warehouse_id" id="input-warehouse_id">
<option value="">Select Warehouse</option>
@foreach($warehouse as $data)
<option value="{{$data->id}}">{{$data->name}}</option>
@endforeach
</select>
</div>
</div>
</form>
您可以看到它返回null ...
warehouse_id
已在我的模型中变为可填充,但始终返回NULL
,请帮助我修复此代码。
谢谢。
答案 0 :(得分:0)
如果您的控制器正在接收NULL
,那是因为正在从前端传递NULL
。
作为测试,您可以将<option value="{{$data->id}}">
替换为<option value="TEST">
,然后提交表格。如果您的warehouse_id
现在为TEST
,则您的$warehouse
变量存在问题,因为它不包含id属性。
这是因为您的查询是:
$warehouse = Warehouse::select('name')->get();
由于您仅选择name
,因此无法在模板中的Eloquent模型上访问id
属性。您必须在select
方法中包含要访问的任何属性,例如;
$warehouse = Warehouse::select('id', 'name')->get();