Sivo 悉见

5分钟快速上手

匿名 · 更新于 2021/6/28

? 在里面创建一个导入类 app/Imports

您可以使用该make:import命令执行此操作

php artisan make:import UsersImport --model=User
1

该文件可以在以下位置找到app/Imports


 

. ├── app │   ├── Imports │   │   ├── UsersImport.php │  └── composer.json

如果您更喜欢手动创建导入,您可以在 中创建以下内容app/Imports

<?php

namespace App</span>Imports;

use App</span>Models</span>User; use Illuminate</span>Support</span>Facades</span>Hash; use Maatwebsite</span>Excel</span>Concerns</span>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]), ]); } }

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

? 在您的控制器中,您现在可以调用此导入:


use App\Imports\UsersImport;
use Maatwebsite\Excel\Facades\Excel;
use App\Http\Controllers\Controller;

class UsersController extends Controller { public function import() { Excel::import(new UsersImport, 'users.xlsx');

    <span class="token keyword" style="color: rgb(204, 153, 205); font-style: italic !important;">return</span> <span class="token function" style="color: rgb(240, 141, 73);">redirect</span><span class="token punctuation" style="color: rgb(204, 204, 204);">(</span><span class="token single-quoted-string string" style="color: rgb(126, 198, 153);">&#39;/&#39;</span><span class="token punctuation" style="color: rgb(204, 204, 204);">)</span><span class="token operator" style="color: rgb(103, 205, 204);">-</span><span class="token operator" style="color: rgb(103, 205, 204);">&gt;</span><span class="token function" style="color: rgb(240, 141, 73);">with</span><span class="token punctuation" style="color: rgb(204, 204, 204);">(</span><span class="token single-quoted-string string" style="color: rgb(126, 198, 153);">&#39;success&#39;</span><span class="token punctuation" style="color: rgb(204, 204, 204);">,</span> <span class="token single-quoted-string string" style="color: rgb(126, 198, 153);">&#39;All good!&#39;</span><span class="token punctuation" style="color: rgb(204, 204, 204);">)</span><span class="token punctuation" style="color: rgb(204, 204, 204);">;</span>
<span class="token punctuation" style="color: rgb(204, 204, 204);">}</span>

}

1
2
3
4
5
6
7
8
9
10
11
12
13
14

? 在您的数据库中查找导入的用户!