Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Forms Laravel 5:模型中没有表单字段_Forms_Laravel_Model View Controller_Laravel 5 - Fatal编程技术网

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>