我有清单和菜单表,它们之间的关系是这样的:


  清单中的1个数据可以在Alats中包含许多数据(例如:清单中的IDC001在Alats中可以具有IDA001,ID002和ID003)


问题是,如何将所有这些数据插入IDC001?尤其是您如何在口才(laravel 6)中做到这一点

最佳答案

对于此任务,我们需要实现one To Many关系。

在清单模型中,您需要定义

<?php

  namespace App;
  use Illuminate\Database\Eloquent\Model;

  class Checklist extends Model
  {
    public function alats()
    {
        return $this->hasMany('App\Alat');
    }
  }



  这意味着CheckList具有许多Alat模型。


现在,在您的Alat模型中,您需要定义



  namespace App;
  use Illuminate\Database\Eloquent\Model;

  class Alat extends Model
  {

    public function checklist()
    {
       return $this->belongsTo('App\Checklist');
    }
  }



  这意味着AlatCheckList模型有关系。


用法:要保存多个记录,需要使用saveMany()

$alats = App\Checklist::where('column_name_of_checklists_table', 'IDC001')->first()->alats;

$alats->saveMany([
       new App\Alat(['column_name_of_alats_table' => 'IDA001']),
       new App\Alat(['column_name_of_alats_table' => 'ID0002']),
       new App\Alat(['column_name_of_alats_table' => 'ID0003']),
   ]);

10-07 12:34