Forms Laravel 5:模型中没有表单字段
我有一个模型,有一个名为Forms Laravel 5:模型中没有表单字段,forms,laravel,model-view-controller,laravel-5,Forms,Laravel,Model View Controller,Laravel 5,我有一个模型,有一个名为map\u zips的字段,在该字段中,我想存储最多5个邮政编码,逗号分隔 我希望有五个不同的表单字段,在存储在数据库模型中之前,我将这些值连接在一起,并将它们存储在DB中的单个列中 如何在一个视图中创建多个表单字段、验证所述表单字段、对所述表单字段执行需要执行的操作并存储它们?除此之外,我认为在加载编辑/更新页面时还需要将它们拆分 我想最简单的方法是创建5个不同的列,每个zip对应一个列,但我想学习如何这样做,以帮助扩展我对Laravel有限的知识 在我的Reports
map\u zips
的字段,在该字段中,我想存储最多5个邮政编码,逗号分隔
我希望有五个不同的表单字段,在存储在数据库模型中之前,我将这些值连接在一起,并将它们存储在DB中的单个列中
如何在一个视图中创建多个表单字段、验证所述表单字段、对所述表单字段执行需要执行的操作并存储它们?除此之外,我认为在加载编辑/更新页面时还需要将它们拆分
我想最简单的方法是创建5个不同的列,每个zip对应一个列,但我想学习如何这样做,以帮助扩展我对Laravel有限的知识
在我的ReportsController.php
中,我当前的存储方法如下所示:
public function store(Request $request) {
$this->validate($request, $this->rules);
$user = Auth::user();
$report = $request->all();
$report['user_id'] = $user->id;
Report::create($report);
return redirect('/reports')->with('status', 'Report created');
}
我不知道我是否理解你的问题,但你可以试试这个:
public function edit($id) {
$report = Report::find($id)
$zipCodes = explode(",", $report->map_zips);
return view('edit_report_view', compact("report", "zipCodes"));
}
如果您希望视图中有5个输入字段,您可以尝试这样做,您将看到来自验证的错误消息和一条返回消息,以确认值是否正确存储
@if (count($errors) > 0)
<div class="alert alert-danger">
@foreach ($errors->all() as $error)
<div>{{ $error }}</div>
@endforeach
</div>
@endif
@if(session()->has('message'))
<div class="alert alert-success">
{{ session()->get('message') }}
</div>
@endif
<form action="{{ route("route_to_store_function") }}" method="post">
<input type="text" name="zip1">
<input type="text" name="zip2">
<input type="text" name="zip3">
<input type="text" name="zip4">
<input type="text" name="zip5">
<button type="submit"></button>
</form>
然后,当您想要编辑报告时,可以尝试以下操作:
public function edit($id) {
$report = Report::find($id)
$zipCodes = explode(",", $report->map_zips);
return view('edit_report_view', compact("report", "zipCodes"));
}
在编辑视图中:
<form action="{{ route("route_to_update") }}" method="post">
<input type="hidden" name="id" value="{{ $report->id }}">
<input type="text" name="zip1" value="{{ $zipCodes[0] }}">
<input type="text" name="zip2" value="{{ $zipCodes[1] }}">
<input type="text" name="zip3" value="{{ $zipCodes[2] }}">
<input type="text" name="zip4" value="{{ $zipCodes[3] }}">
<input type="text" name="zip5" value="{{ $zipCodes[4] }}">
<button type="submit"></button>
</form>
我不知道我是否理解你的问题,但你可以试试这个:
public function edit($id) {
$report = Report::find($id)
$zipCodes = explode(",", $report->map_zips);
return view('edit_report_view', compact("report", "zipCodes"));
}
如果您希望视图中有5个输入字段,您可以尝试这样做,您将看到来自验证的错误消息和一条返回消息,以确认值是否正确存储
@if (count($errors) > 0)
<div class="alert alert-danger">
@foreach ($errors->all() as $error)
<div>{{ $error }}</div>
@endforeach
</div>
@endif
@if(session()->has('message'))
<div class="alert alert-success">
{{ session()->get('message') }}
</div>
@endif
<form action="{{ route("route_to_store_function") }}" method="post">
<input type="text" name="zip1">
<input type="text" name="zip2">
<input type="text" name="zip3">
<input type="text" name="zip4">
<input type="text" name="zip5">
<button type="submit"></button>
</form>
然后,当您想要编辑报告时,可以尝试以下操作:
public function edit($id) {
$report = Report::find($id)
$zipCodes = explode(",", $report->map_zips);
return view('edit_report_view', compact("report", "zipCodes"));
}
在编辑视图中:
<form action="{{ route("route_to_update") }}" method="post">
<input type="hidden" name="id" value="{{ $report->id }}">
<input type="text" name="zip1" value="{{ $zipCodes[0] }}">
<input type="text" name="zip2" value="{{ $zipCodes[1] }}">
<input type="text" name="zip3" value="{{ $zipCodes[2] }}">
<input type="text" name="zip4" value="{{ $zipCodes[3] }}">
<input type="text" name="zip5" value="{{ $zipCodes[4] }}">
<button type="submit"></button>
</form>