Laravel DB-Insert Error: Allowed Memory Size Exhausted

Ich in ein Problem, wenn Sie versuchen, einfügen ~20K Datensätze in meiner DB. Ich merke, dass obwohl ich echo in meiner foreach-Schleife, bekomme ich nicht alles ausgegeben, die in der Befehlszeile. Stattdessen bekomme ich eine Fehlermeldung nach dem einlegen ~9440 Belege zu...

Fatal error: Allowed memory size of 134217728 bytes exhausted (tried
to allocate 91 bytes) in
/Users/me/Sites/Laravel/database/connection.php on line 293

Hier ist mein code (habe versucht, mit beiden Eloquent und Fließend):

<?php

class Process_Controller extends Base_Controller
{
    public function action_migrate()
    {
        $properties = DB::table('raw_properties')->get('id');
        $total = count($properties);

        foreach ($properties as $x => $p) {
            $r = RawProperty::find($p->id);
            $count = $x + 1;

            $prop_details = array(
                'column' => $r->field,
                //Total of 21 fields
            );

            DB::table('properties')->insert($prop_details);

            echo "Created #$count of $total\n";
        }
    }
}
InformationsquelleAutor csm232s | 2012-09-15
Schreibe einen Kommentar