【问题标题】:Insert multiple data and multiple image Laravel插入多个数据和多个图像 Laravel
【发布时间】:2021-03-25 19:42:29
【问题描述】:

我在 laravel 中有 3 个这样的表

电机

  • id_motor(增量)
  • motor_tag
  • 电机名称

rekap

  • id_rekap(增量)
  • id_user
  • tgl

rekap_motor

  • id_rekap_motor(增量)
  • id_rekap(来自表 rekap 的 FK)
  • id_motor(来自表 motor 的 FK)
  • frekwensi
  • 阿鲁斯
  • 大雅
  • 温度
  • 图像(可为空)

当我根据 id_motor 显示将 foreach 数据保存到表 rekap_motor 时,所有数据都存储到表中,除了无法保存的图像。

这是我的控制器和我的视图

控制器

// Save to Table Rekap
$rekap              =   new Rekap;
$rekap->id_user     =   Auth::user()->id;
$rekap->tgl         =   $request->tgl;
$rekap->save();

// Save to Table Rekap_motor
foreach ($request->id_motor as $key => $value) {
   $rekap_motor                =   new Rekap_motor;
   $rekap_motor->id_rekap      =   $rekap->id_rekap;
   $rekap_motor->id_motor      =   $request->id_motor[$key];
   $rekap_motor->frekwensi     =   $request->frekwensi[$key];
   $rekap_motor->arus          =   $request->arus[$key];
   $rekap_motor->daya          =   $request->daya[$key];
   $rekap_motor->temperatur    =   $request->temperatur[$key];

   if($request->hasfile('image')) {
      foreach ($request->file('image') as $images) {
           $name   = 'motor_' . uniqid() . '.' . $image->getClientOriginalExtension();
           $image->move(public_path('/upload/'), $name);
           $data[] =   implode(", ", $name);

           $rekap_motor->image =   $data;
      }
   }
   $rekap_motor->save();
 }

查看

<form action="{{ route('rekap_bardi.store') }}" method="post" enctype="multipart/form-data">
                        {{ csrf_field() }}

                        <label>Tanggal</label>
                        <input type="date" class="@error('tgl') is-invalid @enderror" name="tgl" value="{{ old('tgl') }}" required>
                        @error('tgl')
                            {{ $message }}
                        @enderror

                        <table>
                            <tr>
                                <th>Motor Tag</th>
                                <th>Name of Motor</th>
                                <th>Frekwensi</th>
                                <th>>Arus</th>
                                <th>Daya</th>
                                <th>Temperatur</th>
                                <th>Image</th>
                            </tr>
                            @foreach($motor as $row)
                                <tr>
                                    <td>
                                        <input type="hidden" name="id_motor[{{ $row->id_motor }}]" value="{{ $row->id_motor }}">
                                        {{ $row->motor_tag }}
                                    </td>
                                    <td>{{ $row->motor_name }}</td>
                                    <td>
                                        <input type="text" name="frekwensi[{{ $row->id_motor }}]">
                                    </td>
                                    <td>
                                        <input type="text" name="arus[{{ $row->id_motor }}]">
                                    </td>
                                    <td>
                                        <input type="text" name="daya[{{ $row->id_motor }}]">
                                    </td>
                                    <td>
                                        <input type="text" name="temperatur[{{ $row->id_motor }}]">
                                    </td>
                                    <td>
                                        <input type="file" name="image[{{ $row->id_motor }]" multiple>
                                    </td>
                                </tr>
                            @endforeach
                        </table>

                        <button type="submit">Simpan</button>
                    </form>

如何解决我的问题?对不起,我的英语不好。

谢谢

【问题讨论】:

    标签: php mysql laravel laravel-7


    【解决方案1】:

    到目前为止,我发现保存图像的最佳方法是使用 Spatie Media Library 包。
    https://spatie.be/docs/laravel-medialibrary/v9/introduction

    通过这种方式,您甚至不需要模型中的图像字段。

    并且该包还允许您处理多个图像。

    【讨论】:

      猜你喜欢
      • 2014-11-14
      • 2014-12-08
      • 2021-01-19
      • 2018-05-23
      • 2021-09-10
      • 1970-01-01
      • 1970-01-01
      • 2017-04-03
      • 1970-01-01
      相关资源
      最近更新 更多