for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace LaravelDoctrine\Fluent\Builders;
use Doctrine\ORM\Mapping\Builder\ClassMetadataBuilder;
use LaravelDoctrine\Fluent\Buildable;
class Table extends AbstractBuilder implements Buildable
{
/**
* @var array
*/
protected $primaryTable = [];
* @param ClassMetadataBuilder $builder
* @param string|callable|null $name
public function __construct(ClassMetadataBuilder $builder, $name = null)
parent::__construct($builder);
if (is_callable($name)) {
$name($this);
} else {
$this->setName($name);
}
* @param string $name
*
* @return $this
public function setName($name)
$this->builder->setTable($name);
return $this;
* @param string $schema
public function schema($schema)
$this->primaryTable['schema'] = $schema;
* @param string $charset
public function charset($charset)
$this->option('charset', $charset);
* @param string $collate
public function collate($collate)
$this->option('collate', $collate);
* @param array $options
public function options(array $options = [])
$this->primaryTable['options'] = $options;
* @param string $value
public function option($name, $value)
$this->primaryTable['options'][$name] = $value;
* Execute the build process
public function build()
$this->builder->getClassMetadata()->setPrimaryTable($this->primaryTable);