如何使用 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
]);
}
}
将先前创建的记录存储在变量中并访问它。
我正在使用 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
]);
}
}
将先前创建的记录存储在变量中并访问它。