15.3 - Exemplos de uso da Faker
Como tive dificuldade de encontrar alguns exemplos de uso da Faker, então seguem alguns exenplos que colecionei.
$faker = Faker\Factory::create('pt_BR');
$cpf = $faker->numberBetween($min = 10000000000, $max = 99999999999);
$nome = addslashes($faker->name);
$credito_liberado = $faker->regexify('[sn]');
$nascimento = $faker->date;
$email = $faker->email;
$user_id = $faker->numberBetween($min = 1, $max = 4);
$quantidade = $faker->randomNumber($nbDigits = NULL, $strict = false);
$preco_venda = $faker->numberBetween($min = 20, $max = 1200);
randomNumber($nbDigits = NULL, $strict = false) // 79907610
randomFloat($nbMaxDecimals = NULL, $min = 0, $max = NULL) // 48.8932
numberBetween($min = 1000, $max = 9000) // 8567
$faker->regexify('[sn]'); // s ou n
$faker->randomElement($array = array ('s','n'));
$faker->randomLetter;
$faker->regexify('[A-Z]+[a-z]{2,5}'); // 2 a 5 letras
$faker->regexify('[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}'); // Este endereço de email está sendo protegido de spambots. Você precisa do JavaScript ativado para vê-lo.
$faker->randomElement($array = array ('a','b','c')); // 'b'
print $faker->sentence($nbWords = 3, $variableNbWords = true);
$faker->sentence($nbWords = 6, $variableNbWords = true);
$faker->address; // rua, número e cep
$faker->text; // Para grandes quantidades de texto
$faker->sentence($nbWords = 6, $variableNbWords = true);
$faker->text($maxNbChars = 200);
$faker->title($gender = null|'male'|'female'); // 'Ms.'
$faker->name($gender = null|'male'|'female'); // 'Dr. Zane Stroman'
$faker->cityPrefix;
$faker->state;
$faker->stateAbbr;
$faker->buildingNumber;
$faker->city;
$faker->streetName;
$faker->streetAddress;
$faker->postcode;
$faker->country;
$faker->PhoneNumber;
$faker->company;
$faker->date($format = 'Y-m-d', $max = 'now');
$faker->time($format = 'H:i:s', $max = 'now');
$faker->freeEmail;
$faker->password;
$faker->domainName;
$faker->url;
$faker->ipv4;
$faker->macAddress;
$faker->creditCardType;
$faker->creditCardNumber;
$faker->creditCardExpirationDateString;
$faker->hexcolor;
$faker->colorName;
$faker->fileExtension;
$faker->mimeType;
$faker->locale;
$faker->countryCode;
$faker->randomHtml(2,3);
A partir da versão 1.5.5 do plugin, você pode usar a shell de migrations para popular seu banco de dados. Essa função é oferecida graças ao recurso de seed da biblioteca Phinx. Por padrão, arquivos seed ficarão no diretório config/Seeds de sua aplicação. Por favor, tenha certeza de seguir as instruções do Phinx para construir seus arquivos de seed.
Podemos especificar um plugin
bin/cake bake seed Articles --plugin PluginName
As opções --data, --limit e --fields foram adicionadas para exportar dados da sua base de dados.
A partir da versão 16.4, o comando bake seed permite que você crie um arquivo de seed com dados exportados da sua base de dados com o uso da flag --data:
Exportando a tabela Articles juntamente com seus dados:
bin/cake bake seed --data Articles
Por padrão, esse comando exportará todas as linhas encontradas na sua tabela. Você pode limitar o número de linhas a exportar usando a opção --limit:
Exportar apenas os 10 primeiros registros encontradas
bin/cake bake seed --data --limit 10 Articles
Para popular seu banco de dados, você pode usar o subcomando seed:
bin/cake migrations seed
Para plugins
bin/cake migrations seed -p MeuPlugin
Você pode especificar apenas um seeder para rodar usando a opção --seed:
bin/cake migrations seed --seed ArticlesSeed
Limpar o cache
Se você usa o plugin ao fazer o deploy de sua aplicação, garanta que o cache ORM seja limpo para renovar os metadados das colunas de suas tabelas.
bin/cake orm_cache clear
Migrando somente uma migration
bin/cake migrations migrate -p CakeDC/Users
bin/cake migrations migrate -p Acl
Comments fornecido por CComment