Вход Регистрация
Файл: vendor/fakerphp/faker/src/Faker/ORM/CakePHP/ColumnTypeGuesser.php
Строк: 93
<?php

namespace FakerORMCakePHP;

class 
ColumnTypeGuesser
{
    protected 
$generator;

    public function 
__construct(FakerGenerator $generator)
    {
        
$this->generator $generator;
    }

    
/**
     * @return Closure|null
     */
    
public function guessFormat($column$table)
    {
        
$generator $this->generator;
        
$schema $table->schema();

        switch (
$schema->columnType($column)) {
            case 
'boolean':
                return static function () use (
$generator) {
                    return 
$generator->boolean;
                };

            case 
'integer':
                return static function () use (
$generator) {
                    return 
$generator->numberBetween(02147483647);
                };

            case 
'biginteger':
                return static function () use (
$generator) {
                    return 
$generator->numberBetween(0PHP_INT_MAX);
                };

            case 
'decimal':
            case 
'float':
                return static function () use (
$generator) {
                    return 
$generator->randomFloat();
                };

            case 
'uuid':
                return static function () use (
$generator) {
                    return 
$generator->uuid();
                };

            case 
'string':
                if (
method_exists($schema'getColumn')) {
                    
$columnData $schema->getColumn($column);
                } else {
                    
$columnData $schema->column($column);
                }
                
$length $columnData['length'];

                return static function () use (
$generator$length) {
                    return 
$generator->text($length);
                };

            case 
'text':
                return static function () use (
$generator) {
                    return 
$generator->text();
                };

            case 
'date':
            case 
'datetime':
            case 
'timestamp':
            case 
'time':
                return static function () use (
$generator) {
                    return 
$generator->datetime();
                };

            case 
'binary':
            default:
                return 
null;
        }
    }
}
Онлайн: 1
Реклама