提问人:Timothy Mach 提问时间:8/17/2023 最后编辑:Timothy Mach 更新时间:11/15/2023 访问量:112
使用 maatwebsite/excel 3.1 将 Excel 数据(集合行)导入 Laravel 9 数据库时出现的问题
Issue with Importing Excel Data (Collection rows) to Laravel 9 Database using maatwebsite/excel 3.1
问:
我正在尝试使用 Maatwebsite-excel 3.1 从 excel 工作表导入多行。
这是挑战,当我这样做时。 它打印所有行。但是,当我没有在没有 DD 的情况下运行代码时,它会神奇地“清空”行。
下面是我的代码dd($row)
public function collection(Collection $rows)
{
$rows->shift();
$total_amount = 0;
foreach ($rows as $row){
if($row->filter()->isNotEmpty()){
$article_title =collect(trim($row[0]))[0];
$tag = collect(trim($row[1]))[0];
$words = collect((int) $row[2])[0];
$deadline = collect(trim($row[3]))[0];
$pkw = collect(trim($row[4]))[0];
$skw1 = collect(trim($row[5]))[0];
$skw2 = collect(trim($row[6]))[0];
$instructions = collect(trim($row[7]))[0];
$my_tag = UserTag::where('name', 'LIKE', '%'.$tag.'%')->first();
$my_urgency = Urgency::where('name', 'LIKE', '%'.$deadline.'%')->first();
// dd($tag, $words, $my_urgency);
$amount = $my_tag->amount_per_word * $my_urgency->amount * $words;
$project_deadline = now()->addHours($my_urgency->hours)->format('Y-m-d H:i:s');
Project::create([
'user_id'=>request()->user()->id,
'article_title'=>$article_title,
'upload_batch_id'=>$this->batch->id,
'user_tag_id'=>$my_tag->id,
'urgency_id'=>$my_urgency->id,
'price_per_word'=>$my_tag->amount_per_word,
'no_of_words'=>$words,
'deadline'=>$project_deadline,
'amount'=>($amount),
'primary_keyword'=>$pkw,
'secondary_keyword_1'=>$skw1,
'secondary_keyword_2'=>$skw2,
'instructions' => $instructions
]);
$total_amount = $total_amount + $amount;
}
}
$this->batch->amount = $total_amount;
$this->batch->update();
}
我也尝试过没有,但这也没有用。collect(trim(row[value]))
我尝试遵循这些解决方案,但没有一个对我有用
以下是我的 DD 声明
请帮帮我。
答:
1赞
Timothy Mach
8/18/2023
#1
明白了。实现到类,然后删除WithHeadingRow
$rows->shift();
这将使第一行数组键。然后,您可以稍后按以下方式访问它们:
class ProjectsImport implements ToCollection, WithHeadingRow
{
public function collection(Collection $rows){
$total_amount = 0;
foreach ($rows as $row){
if($row->filter()->isNotEmpty()){
$article_title = $row['article_name'];
}
}
}
}
评论