Gibt es eine Möglichkeit, die Kopfzeile zu überspringen und den Import ab der 2. Zeile zu starten?
Mögen:
class UsersImport implements ToModel
{
/**
* <strong i="13">@param</strong> array $row
*
* <strong i="14">@return</strong> User|null
*/
public function model(array $row)
{
return new User([
'name' => $row[0],
'email' => $row[1],
'password' => Hash::make($row[2]),
]);
}
}
Aber ab der zweiten Reihe? Ich muss mich also nicht um meine Kopfzeilennamen kümmern, sondern nur um die Reihenfolge meiner Spalten.
Ich habe es gelöst mit
class UsersImport implements ToModel, WithStartRow
{
...
/**
* <strong i="6">@return</strong> int
*/
public function startRow(): int
{
return 2;
}
}
Ich weiß, dass Sie dies bereits gelöst haben, aber es gibt eine integrierte Möglichkeit, dies zu tun: WithHeadingRow
Ich weiß, dass Sie dies bereits gelöst haben, aber es gibt eine integrierte Möglichkeit, dies zu tun: WithHeadingRow
Aber wenn Sie WithHeadingRow
, können Sie nicht auf Zeilenelemente nach Index zugreifen
nett!
Ich weiß, dass es geschlossen ist, aber wenn Sie die Methode von @lcardosozago verwenden, vergessen Sie nicht hinzuzufügen:
use Maatwebsite\Excel\Concerns\WithStartRow;
Hilfreichster Kommentar
Ich habe es gelöst mit