/** * Return a phone number * * @param null $state_code * @param null $zip * @param bool $include_toll_free * @return string */ public function getPhone($state_code = null, $zip = null, $include_toll_free = false) { if (!empty($zip)) { $areacodes = Zipcode::where('zip', $zip)->orderByRaw(Database::random())->first()->area_codes; } else { // Get a random state if state not provided $state_code = !empty($state_code) ? $state_code : $this->getState()->code; // Get area codes appropriate for this state $areacodes = Zipcode::where('state_code', $state_code)->orderByRaw(Database::random())->first()->area_codes; } // Get list of valid area codes for the state/zip code $code_list = explode(',', $areacodes); // @codeCoverageIgnoreStart // Add some toll free numbers into the mix. if ($include_toll_free === true) { $code_list[] = 800; $code_list[] = 888; $code_list[] = 877; $code_list[] = 866; $code_list[] = 855; } // @codeCoverageIgnoreEnd // Get a random area code from valid area codes $areacode = $this->fromArray($code_list); $prefix = rand(100, 999); $number = rand(1, 9999); return $areacode . '-' . $prefix . '-' . str_pad($number, 4, '0', STR_PAD_LEFT); }
use joshmoody\Mock\Models\Database; use joshmoody\Mock\Models\LastName; use joshmoody\Mock\Models\FirstName; use joshmoody\Mock\Models\Street; use joshmoody\Mock\Models\Zipcode; use Illuminate\Database\Capsule\Manager as DB; require_once dirname(__DIR__) . '/vendor/autoload.php'; if ($argc > 1) { // Parse the DSN from the command line param // Example: php bin/php mysql://username:password@hostname/databasename $opts = Database::parseDsn($argv[1]); } else { // Default sqlite database $opts = ['driver' => 'sqlite']; } Database::init($opts); // Disable query log so we don't run out of memory logging all these inserts. DB::connection('mock-data')->disableQueryLog(); function get_filename($file) { return sprintf('%s/data/%s', dirname(__DIR__), $file); } function extract_datafiles() { $archive = get_filename('data.zip'); $extract_path = sprintf('%s/data', dirname(__DIR__)); $zip = new \ZipArchive(); $res = $zip->open($archive); if ($res === true) { $zip->extractTo($extract_path); $zip->close();
public function __construct() { $dsn = Database::parseDsn(getenv('dsn')); $this->generator = new Generator(['dsn' => $dsn]); }