我如何合并应用程序中收集的 csv 数据和其他数据 laravel excel

How do I combine csv data and other data collected in the app laravel excel

我有一个包含图钉的 csv 文件。每次我上传文件并尝试保存在应用程序中收集的其他数据时,它不会分组并将它们全部加在一起[=13​​=]

这是我的代码,请帮忙!

//import pins & save additional data
    public function importPins(Request $request)
    {
        //save the records
        $pins = new Pins([
            'rewardName' => 'Game Gateway',
            'rewardId' => '1',
            'username' => 'Admin'
        ]);
        Excel::import(new PinsImport, request()->file('csv_file'));
        $pins->save();
        return back()->with('success', 'Pins Imported successfully.');
    }

//Pins Import class
<?php

namespace App\Imports;

use App\Pins;
use Maatwebsite\Excel\Concerns\ToModel;

class PinsImport implements ToModel
{
    /**
    * @param array $row
    *
    * @return \Illuminate\Database\Eloquent\Model|null
    */
    public function model(array $row)
    {
        return new Pins([
            'voucherPin' => $row[0]
        ]);
    }
}

您可以尝试将要用于创建模型的属性传入导入 class。

class PinsImport ...
{
    protected $attributes = [];

    public function __construct($attributes = [])
    {
        $this->attributes = $attributes;
    }

    public function model(array $row)
    {
        return new Pins([
            'voucherPin' => $row[0]
        ] + $this->attributes);
    }
}


$attributes = [
    'rewardName' => 'Game Gateway',
    'rewardId' => '1',
    'username' => 'Admin'
];

Excel::import(new PinsImport($attributes), request()->file('csv_file'));