仅将 csv 上传到 mysql 个选定列 - laravel
upload csv to mysql selected columns only - laravel
想要将 CSV 文件上传到 MySQL 数据库中,仅上传 select 编辑的列,当上传具有 select 想要上传的列或字段的选项时,其他列将为空白并仅上传 selected,我该怎么做,任何人都有任何解决方案
你需要一些库来 export/import 到 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');
}
祝你好运!
想要将 CSV 文件上传到 MySQL 数据库中,仅上传 select 编辑的列,当上传具有 select 想要上传的列或字段的选项时,其他列将为空白并仅上传 selected,我该怎么做,任何人都有任何解决方案
你需要一些库来 export/import 到 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');
}
祝你好运!