仅将csv上传到mysql选定的列-Laravel

想要将CSV文件上传到MySQL数据库,仅上传选定的列,否则当上传具有选择要上传的列或字段并仅上传选定的选项时,其他将为空白,我该怎么办任何人有任何解决方案

cathylia 回答:仅将csv上传到mysql选定的列-Laravel

您需要一些库才能将excel / csv文件导出/导入到数据库。

有很多解决方案。 您可以使用例如: https://docs.laravel-excel.com/3.1/imports/

您可以通过Composer安装此软件包。

用法:

namespace App\Imports;

use App\User;
use Illuminate\Support\Facades\Hash;
use Maatwebsite\Excel\Concerns\ToModel;

class UsersImport implements ToModel
{
    /**
     * @param array $row
     *
     * @return User|null
     */
    public function model(array $row)
    {
        return new User([
           'name'     => $row[0],'email'    => $row[1],'password' => Hash::make($row[2]),]);
    }
}

如何导入某些列? https://docs.laravel-excel.com/3.1/imports/collection.html

namespace App\Imports;

use App\User;
use Illuminate\Support\Collection;
use Maatwebsite\Excel\Concerns\ToCollection;

class UsersImport implements ToCollection
{
    public function collection(Collection $rows)
    {
        foreach ($rows as $row) 
        {
            User::create([
                'name' => $row[0],// Here select ROW - 0 is the first row from your CSV
            ]);
        }
    }
}

public function import() 
{
    Excel::import(new UsersImport,'users.xlsx');
}

祝你好运!

本文链接:https://www.f2er.com/3168890.html

大家都在问