Example #1
0
function load_lastnames($limit = 500)
{
    if (!DB::schema('mock-data')->hasTable('last_names')) {
        DB::schema('mock-data')->create('last_names', function ($table) {
            # Define some fields.
            $table->increments('id');
            $table->string('name', 15);
            $table->integer('rank');
            # Add some indexes.
            $table->index('rank');
        });
    } else {
        LastName::truncate();
    }
    $fp = fopen(get_filename('lastnames.txt'), 'r');
    $count = 0;
    while (!feof($fp)) {
        if ($count > $limit - 1) {
            return $count;
        } else {
            $line = trim(fgets($fp));
            if (strlen($line) > 0) {
                $row = unpack("A14name/A7freq/A7cumulfreq/A6rank", trim($line));
                $lastname = new LastName();
                $lastname->name = ucfirst(strtolower(trim($row['name'])));
                $lastname->rank = ucfirst(strtolower(trim($row['rank'])));
                $lastname->save();
                $count++;
            } else {
                continue;
            }
        }
    }
    fclose($fp);
    return $count;
}