[英]upload csv to mysql selected columns only - laravel
想要将 CSV 文件上传到 MySQL 数据库中,只上传选定的列,当上传有 select 的选项时,其他将是空白的
您需要一些库来导出/导入到 excel/csv 文件到数据库。
有很多解决方案。 您可以使用例如: https://docs.laravel-excel.com/3.1/imports/
您可以通过 Composer 安装此 package。
用法:
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');
}
祝你好运!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.