Database Seeding

Step 1

Generate Factory class

php artisan make:factory PostFactory

Post Factory Class

database/foctories/PostFactory.php

use Faker\Generator as Faker;

$factory->define(App\Post::class, function (Faker $faker) {
    return [
        'title' => $faker->sentence,
        'body' => $faker->paragraph
    ];
});

Step 2

Generate seeder class

php artisan make:seeder PostSeeder

Post seeder class

database/seeds/PostSeeder.php

use Illuminate\Database\Seeder;

class PostSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        factory('App\Post' , $row_count = 100)->create();
    }
}

Step 3

Call the seeder method in DatabaseSeeder.php

use Illuminate\Database\Seeder;

class DatabaseSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        $this->call('PostSeeder');
    }
}

Step 4

Run seeder command

php artisan db:seed

Available faker class properties and methods

https://github.com/fzaninotto/Faker

  @property string $name
  @method   string name(string $gender = null)
  @property string $firstName
  @method   string firstName(string $gender = null)
  @property string $firstNameMale
  @property string $firstNameFemale
  @property string $lastName
  @property string $title
  @method   string title(string $gender = null)
  @property string $titleMale
  @property string $titleFemale

  @property string $citySuffix
  @property string $streetSuffix
  @property string $buildingNumber
  @property string $city
  @property string $streetName
  @property string $streetAddress
  @property string $postcode
  @property string $address
  @property string $country
  @property float $latitude
  @property float $longitude

  @property string $ean13
  @property string $ean8
  @property string $isbn13
  @property string $isbn10

  @property string $phoneNumber

  @property string $company
  @property string $companySuffix
  @property string $jobTitle

  @property string $creditCardType
  @property string $creditCardNumber
  @method   string creditCardNumber($type = null, $formatted = false, $separator = '-')
  @property \DateTime $creditCardExpirationDate
  @property string $creditCardExpirationDateString
  @property array $creditCardDetails
  @property string $bankAccountNumber
  @method   string iban($countryCode = null, $prefix = '', $length = null)
  @property string $swiftBicNumber
  @property string $vat

  @property string $word
  @property string|array $words
  @method   string|array words($nb = 3, $asText = false)
  @property string $sentence
  @method  string sentence($nbWords = 6, $variableNbWords = true)
  @property string|array $sentences
  @method string|array sentences($nb = 3, $asText = false)
  @property string $paragraph
  @method string paragraph($nbSentences = 3, $variableNbSentences = true)
  @property string|array $paragraphs
  @method string|array paragraphs($nb = 3, $asText = false)
  @property string $text
  @method string text($maxNbChars = 200)

  @method string realText($maxNbChars = 200, $indexSize = 2)

  @property string $email
  @property string $safeEmail
  @property string $freeEmail
  @property string $companyEmail
  @property string $freeEmailDomain
  @property string $safeEmailDomain
  @property string $userName
  @property string $password
  @method string password($minLength = 6, $maxLength = 20)
  @property string $domainName
  @property string $domainWord
  @property string $tld
  @property string $url
  @property string $slug
  @method string slug($nbWords = 6, $variableNbWords = true)
  @property string $ipv4
  @property string $ipv6
  @property string $localIpv4
  @property string $macAddress

  @property int $unixTime
  @property \DateTime $dateTime
  @property \DateTime $dateTimeAD
  @property string $iso8601
  @property \DateTime $dateTimeThisCentury
  @property \DateTime $dateTimeThisDecade
  @property \DateTime $dateTimeThisYear
  @property \DateTime $dateTimeThisMonth
  @property string $amPm
  @property int $dayOfMonth
  @property int $dayOfWeek
  @property int $month
  @property string $monthName
  @property int $year
  @property int $century
  @property string $timezone
  @method string amPm($max = 'now')
  @method string date($format = 'Y-m-d', $max = 'now')
  @method string dayOfMonth($max = 'now')
  @method string dayOfWeek($max = 'now')
  @method string iso8601($max = 'now')
  @method string month($max = 'now')
  @method string monthName($max = 'now')
  @method string time($format = 'H:i:s', $max = 'now')
  @method string unixTime($max = 'now')
  @method string year($max = 'now')
  @method \DateTime dateTime($max = 'now', $timezone = null)
  @method \DateTime dateTimeAd($max = 'now', $timezone = null)
  @method \DateTime dateTimeBetween($startDate = '-30 years', $endDate = 'now')
  @method \DateTime dateTimeInInterval($date = '-30 years', $interval = '+5 days', $timezone = null)
  @method \DateTime dateTimeThisCentury($max = 'now', $timezone = null)
  @method \DateTime dateTimeThisDecade($max = 'now', $timezone = null)
  @method \DateTime dateTimeThisYear($max = 'now', $timezone = null)
  @method \DateTime dateTimeThisMonth($max = 'now', $timezone = null)

  @property string $md5
  @property string $sha1
  @property string $sha256
  @property string $locale
  @property string $countryCode
  @property string $countryISOAlpha3
  @property string $languageCode
  @property string $currencyCode
  @property boolean $boolean
  @method boolean boolean($chanceOfGettingTrue = 50)

  @property int $randomDigit
  @property int $randomDigitNotNull
  @property string $randomLetter
  @property string $randomAscii
  @method int randomNumber($nbDigits = null, $strict = false)
  @method int|string|null randomKey(array $array = array())
  @method int numberBetween($min = 0, $max = 2147483647)
  @method float randomFloat($nbMaxDecimals = null, $min = 0, $max = null)
  @method mixed randomElement(array $array = array('a', 'b', 'c'))
  @method array randomElements(array $array = array('a', 'b', 'c'), $count = 1, $allowDuplicates = false)
  @method array|string shuffle($arg = '')
  @method array shuffleArray(array $array = array())
  @method string shuffleString($string = '', $encoding = 'UTF-8')
  @method string numerify($string = '###')
  @method string lexify($string = '????')
  @method string bothify($string = '## ??')
  @method string asciify($string = '    ')
  @method string regexify($regex = '')
  @method string toLower($string = '')
  @method string toUpper($string = '')
  @method Generator optional($weight = 0.5, $default = null)
  @method Generator unique($reset = false, $maxRetries = 10000)
  @method Generator valid($validator = null, $maxRetries = 10000)

  @method integer biasedNumberBetween($min = 0, $max = 100, $function = 'sqrt')

  @property string $macProcessor
  @property string $linuxProcessor
  @property string $userAgent
  @property string $chrome
  @property string $firefox
  @property string $safari
  @property string $opera
  @property string $internetExplorer
  @property string $windowsPlatformToken
  @property string $macPlatformToken
  @property string $linuxPlatformToken

  @property string $uuid

  @property string $mimeType
  @property string $fileExtension
  @method string file($sourceDirectory = '/tmp', $targetDirectory = '/tmp', $fullPath = true)

  @method string imageUrl($width = 640, $height = 480, $category = null, $randomize = true, $word = null, $gray = false)
  @method string image($dir = null, $width = 640, $height = 480, $category = null, $fullPath = true, $randomize = true, $word = null)

  @property string $hexColor
  @property string $safeHexColor
  @property string $rgbColor
  @property array $rgbColorAsArray
  @property string $rgbCssColor
  @property string $safeColorName
  @property string $colorName

  @method string randomHtml($maxDepth = 4, $maxWidth = 4)

results matching ""

    No results matching ""