[英]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.