【问题标题】:How to insert multiple form in laravel 5.4如何在 laravel 5.4 中插入多个表单
【发布时间】:2020-03-29 21:47:04
【问题描述】:

我有输入多个表单的问题,在我的情况下,结果数组是这样的

{
approval_activities": null,
  "remark_id": [
    "9",
    "10"
  ],
  "name_remark": [
    "Capex",
    "Asset"
  ],
  "label_remark": [
    "Capex",
    "Asset"
  ],
  "description_remark": [
    "Capex",
    "Asset"
  ],
  "filter_logic_remark": [
    null,
    null
  ],
  "default_remark": [
    "Capex",
    "Asset"
  ],
  "weight_remark": [
    "5",
    "1"
  ]

我尝试使用 foreach 将其插入到其他表中,但出现错误消息 Array to string conversion

$asset = Asset::create([,'approval_activities' => $request->approval_activities]); $arr[] = $request->all();

      foreach ($arras $req) { //remark
        $i = 0;
        $pret = [
          'asset_id'        => $asset->id,
          'remark_id'       => $req[$i]['remark_id'],
          'name'            => $req[$i]['name_remark'],
          'label'           => $req[$i]['label_remark'],
          'description'     => $req[$i]['description_remark'],
          'filter_logic'    => $req[$i]['filter_logic_remark'],
          'default'         => $req[$i]['weight_remark']
        ];
        $i++;
      }
      RemarkAsset::create($pret);

这是我在刀片中的表单,在这段代码中,我使用 [] 作为名称来向控制器发送一个数组,这段代码的结果类似于上面的 JSON。

{!! Form::label('approval_activities', 'Approval Jenis Kegiatan', ['class' => 'col-sm-2 control-label']) !!}
<div class="col-sm-4 {{ $errors->has('approval_activities') ? 'has-error' : ''}}">
<select id="approval_activities" name="approval_activities" class="form-control select2_demo_1"
data-placeholder="Select Approval Jenis Kegiatan">
<option value="">Select Approval Jenis Kegiatan</option>
<option value="Aktivasi">Aktivasi</option>
</select> {!! $errors->first('approval_kegiatan', '<p class="help-block">:message</p>') !!}
</div>
        <div class="form-group">
    {!! Form::label('name', 'Name', ['class' => 'col-sm-2 control-label']) !!}
    <div class="col-sm-4 col-xs-12 {{ $errors->has('name') ? 'has-error' : ''}}">
    {!! Form::text('name_remark[]', $item->name, ['class' => 'form-control','placeholder'=>'Name']) !!}
    {!! $errors->first('name', '<p class="help-block">:message</p>') !!}
    </div>

    {!! Form::label('label', 'Label', ['class' => 'col-sm-2 control-label f-w-none']) !!}
    <div class="col-sm-4 col-xs-12 {{ $errors->has('label') ? 'has-error' : ''}}">
    {!! Form::text('label_remark[]', $item->name, ['class' => 'form-control','placeholder'=>'Label']) !!}
    {!! $errors->first('label', '<p class="help-block">:message</p>') !!}
    </div>
    </div>

我的期望是将$asset插入到表资产中只有1条记录,并且备注插入到表备注中,如果我有两个remark_id或其他类似JSON,那么表备注中的记录是两个。

【问题讨论】:

    标签: php laravel


    【解决方案1】:

    如果数组如下所示,$req[$i]['name_remark'] 将起作用,其中每个 $i 都有一个 name_remark

    {
        "name_remark": "Capex"
    },
    {
        "name_remark": "Asset"
    }
    

    在你的情况下,我相信你想要$req['name_remark'][$i]

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-03-30
      • 1970-01-01
      • 2017-10-12
      • 2017-07-01
      • 1970-01-01
      • 2021-11-25
      • 2020-10-18
      • 1970-01-01
      相关资源
      最近更新 更多