Verwenden Sie die Absatzabfragemethode chunkById von Laravel, fragen Sie jeweils 2 KB ab und übertragen Sie sie dann stapelweise in die Datenbank Die Tabelle wurde nicht geändert, Sie können sie direkt ändern. Das Problem, das nach dem Abfragen und Importieren auftritt, besteht darin, dass das Datenattribut nach dem Abfragen ein Array ist, das manuell zusammengestellt werden muss, bevor es direkt in der Datenbank gespeichert werden kann Stellen Sie sich vor, Sie könnten diese Attributdaten direkt abrufen und sie dann in das Array werfen und direkt in der Datenbank speichern.
Die abgefragten Daten sehen so aus (empfohlen: „
php-Video-Tutorial“) ist ein privates Attribut directly (array)$value und dann so
so direct
$arrTemp['x00*x00attributes'] sollte es in Ordnung sein Encapsulation:
public function getProtectedValue($obj, $name) { $array = (array)$obj; $prefix = chr(0).'*'.chr(0); return $array[$prefix.$name]; }Der ASCII-Code, der x00 im Screenshot entspricht, ist 0. Verwenden Sie chr, um den ASCII-Code von 0 in eine Zeichenfolge umzuwandeln, die chr(0) entspricht. Der ASCII-Code ist x00, dann verketten Sie * und es ist OK
Die Anpassung Code ist
$arrTemp = $this->getProtectedValue($value, 'attributes');