1
0
mirror of synced 2025-02-03 13:59:27 +03:00
2016-12-07 23:33:41 +01:00

115 lines
2.1 KiB
PHP

<?php
namespace Doctrine\Tests\Models\DDC3579;
use Doctrine\Common\Collections\ArrayCollection;
/**
* @MappedSuperclass
*/
class DDC3579User
{
/**
* @Id
* @GeneratedValue
* @Column(type="integer", name="user_id", length=150)
*/
protected $id;
/**
* @Column(name="user_name", nullable=true, unique=false, length=250)
*/
protected $name;
/**
* @var ArrayCollection
*
* @ManyToMany(targetEntity="DDC3579Group")
*/
protected $groups;
/**
* @param string $name
*/
public function __construct($name = null)
{
$this->name = $name;
$this->groups = new ArrayCollection;
}
/**
* @return integer
*/
public function getId()
{
return $this->id;
}
/**
* @return string
*/
public function getName()
{
return $this->name;
}
/**
* @param string $name
*/
public function setName($name)
{
$this->name = $name;
}
/**
* @param DDC3579Group $group
*/
public function addGroup(DDC3579Group $group)
{
$this->groups->add($group);
$group->addUser($this);
}
/**
* @return ArrayCollection
*/
public function getGroups()
{
return $this->groups;
}
public static function loadMetadata($metadata)
{
$metadata->mapField(
[
'id' => true,
'fieldName' => 'id',
'type' => 'integer',
'columnName' => 'user_id',
'length' => 150,
]
);
$metadata->mapField(
[
'fieldName' => 'name',
'type' => 'string',
'columnName'=> 'user_name',
'nullable' => true,
'unique' => false,
'length' => 250,
]
);
$metadata->mapManyToMany(
[
'fieldName' => 'groups',
'targetEntity' => 'DDC3579Group'
]
);
$metadata->setIdGeneratorType(\Doctrine\ORM\Mapping\ClassMetadataInfo::GENERATOR_TYPE_AUTO);
}
}