html - 如何一次插入插入两个序列号

标签 html mysql sql laravel

我试图让一次借出两本书成为可能,但我的问题是只有一个值被转发。表格如下所示:

enter image description here

在 View 中我尝试将该字段重命名为“serial number2”,因为我认为他只是因为名称相同而忽略了第二个序列号。

这是我的观点:

               <div class="card">
                <div class="card-header">{{ __('Lend a book') }}</div>

                <div class="card-body">
                    <form method="POST" action="{{ route('borrow.store') }}">
                        @csrf

                        <div class="form-group row">
                            <label for="serialnumber" class="col-md-4 col-form-label text-md-right">{{ __('Please scan the Serialnumber of the book') }}</label>

                            <div class="col-md-6">
                                <input id="serialnumber" type="text" class="form-control{{ $errors->has('serialnumber') ? ' is-invalid' : '' }}" name="serialnumber" value="{{ old('serialnumber') }}" required   @if (Session::has('autofocus')) autofocus @endif>

                                @if ($errors->any())
                                    <div class="alert alert-danger">The book is not in stock.
                                        <ul>

                                        </ul>
                                    </div>
                                @endif
                            </div>
                        </div>

                        <div class="form-group row">
                            <label for="serialnumber" class="col-md-4 col-form-label text-md-right">{{ __('') }}</label>

                            <div class="col-md-6">
                                <input id="serialnumber" type="text" class="form-control{{ $errors->has('serialnumber') ? ' is-invalid' : '' }}" name="serialnumber" value="{{ old('serialnumber') }}" required   @if (Session::has('autofocus')) autofocus @endif>

                                @if ($errors->any())
                                    <div class="alert alert-danger">The book is not in stock..
                                        <ul>

                                        </ul>
                                    </div>
                                @endif
                            </div>
                        </div>



                        <div class="form-group row">
                          <label for="comment" class="col-md-4 col-form-label text-md-right">{{ __('comment') }}</label>
                          <div class="col-md-6">
                        <!--                        <input id="ma_id" type="text" class="form-control{{ $errors->has('ma_id') ? ' is-invalid' : '' }}" value="{{ old('ma_id') }}" required> -->
                            <input id="comment" type="text-field" class="form-control" name="comment" placeholder="Test">


                            @if ($errors->has('comment'))
                            <span class="invalid-feedback">
                              <strong>{{ $errors->first('comment') }}</strong>
                            </span>
                            @endif
                        </div>
                        </div>


                          <div class="form-group row">
                            <label for="ma_id" class="col-md-4 col-form-label text-md-right">{{ __('scan membercard to identify yourself') }}</label>
                            <div class="col-md-6">
  <!--                        <input id="ma_id" type="text" class="form-control{{ $errors->has('ma_id') ? ' is-invalid' : '' }}" value="{{ old('ma_id') }}" required> -->
                              <input id="ma_id" type="password" class="form-control" name="ma_id" required>


                              @if ($errors->has('ma_id'))
                              <span class="invalid-feedback">
                                <strong>{{ $errors->first('ma_id') }}</strong>
                              </span>
                              @endif
                          </div>
                        </div>







                      <div class="form-group row mb-0">
                            <div class="col-md-6 offset-md-4">
                                <button type="submit" class="btn btn-primary">
                                    {{ __('send') }}
                                </button>
                            </div>
                        </div>
                    </form>
                </div>
            </div>
        </div>
    </div>
</div>

@endsection

这是我的 Controller :

  public function store(bookRequest $request)
{

  //if( !book::find($request->get('serialnumber'))->exists() ) {
    $this->middleware('guest');

    request()->validate([
      'serialnumber' => 'required',
      'serialnumber' => 'required',
      'ma_id' => 'required'
    ]);


    book::create($request->all());


    return redirect()->route('book.index');


}

没有错误,但问题是他如上所述只将一个序列号写入数据库,而完全忽略了进入第二个字段的另一个序列号。我的问题是我必须调整什么才能将具有相同数据的第二个序列号写入数据库。

最佳答案

同一表单中不能有两个具有相同名称(例如serialnumber)的项目,否则只会处理一个值。请检查浏览器中的检查工具。如果您需要具有相同“名称”的多个输入,请将 [] 附加到名称(例如 name=serialnumber[])。

更多信息请访问 HTML 5 spec

另一方面,您有多个具有相同 ID 的项目。这是另一个需要在某个时候解决的问题。

将数据放入 Controller 后,您将必须相应地生成插入数据

$requestData = $request->validated();

$data = [
    [
       'serialnumber' => $requestData['serialnumber'][0],
       'comment'      => $requestData['comment'],
       'ma_id'        => $requestData['ma_id']
    ],
    [
       'serialnumber' => $requestData['serialnumber'][1],
       'comment'      => $requestData['comment'],
       'ma_id'        => $requestData['ma_id']
    ]
];

Book::insert($data);

关于html - 如何一次插入插入两个序列号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53335080/

相关文章:

php - 需要帮助修复 PHP Ajax Jquery Sql 动态下拉列表

mysql - 如何添加可为空的列作为表的主组合键的一部分?

html - 文本未显示在 Chrome for mac 的网站上

java - 如何从网页中提取特定文本?

php - 前 3 个结果的 SQL 查询

mysql - 在端口 80 上运行 mamp 时建立数据库连接时出错

sql - 在 SQL Server 中使用命名空间解析 XML

html - 标题 float 问题中的 w 图像

javascript - 如何在 Canvas 上制作一个长方形的小三 Angular 形?

php - 用于存储层次结构列表的 RDBMS 策略?查询/输出它们?