如何使用 laravel-excel 在其他行中查找数据

How to find data in other row with laravel-excel

我正在使用 maatwebsite/excel 使用 laravel 导入一个 excel 文件并将数据保存到数据库 在我的 excel 文件中,我有一个列名“Ref”和另一个名称“toRef” 在我的数据库中,我有一个字段“toRef_id” 当我导入一个我想保存在 toRef_id 中的文件时,id 在 Ref 等于 toRef 的行处创建 例如

First row : Ref = First, Name = My first data, toRef = null
Second row : Ref = Second, Name = second data, toRef = null
Third row : Ref = Third, Name = My third data, toRef = First

所以我想将第一行导入数据库 toRef_id = null。例如创建的id是1 当我导入第二行时,我想在数据库中保存 toRef_id = 1

这是我的控制器:

function import(){
       (new CustomImport)->import('myfile')
}

和自定义导入

class CustomImport implements ToModel, WithHeadingRow{
  use Importable;
  public function model(array $row){
   Data::create([
    'name' => $row['name'],
   ])
  }
}

但我不知道如何获取先前创建的行的 ID $previousrow['ref'] = $row['toRef']

你能帮帮我吗?

class CustomImport implements ToModel, WithHeadingRow{
  use Importable;
  public $lastRow;

  public function model(array $row){
    $this->lastRow = Data::create([
     'name' => $row['name'],
      'previousRowId' => isset($this->lastRow->id) : $this->lastRow->id ? null

    ]);
    
  }
} 

将先前创建的记录存储在变量中并访问它。