2008-09-07 17:48:40 +04:00
|
|
|
<?php
|
|
|
|
|
2009-01-22 22:38:10 +03:00
|
|
|
namespace Doctrine\ORM\Id;
|
|
|
|
|
2009-03-30 23:43:05 +04:00
|
|
|
use Doctrine\ORM\EntityManager;
|
|
|
|
|
2009-01-22 22:38:10 +03:00
|
|
|
class SequenceIdentityGenerator extends IdentityGenerator
|
2008-09-07 17:48:40 +04:00
|
|
|
{
|
|
|
|
private $_sequenceName;
|
|
|
|
|
|
|
|
public function __construct($sequenceName)
|
|
|
|
{
|
|
|
|
$this->_sequenceName = $sequenceName;
|
|
|
|
}
|
2009-03-30 23:43:05 +04:00
|
|
|
|
|
|
|
public function generate(EntityManager $em, $entity)
|
|
|
|
{
|
|
|
|
return $em->getConnection()->lastInsertId($this->_sequenceName);
|
|
|
|
}
|
2008-09-07 17:48:40 +04:00
|
|
|
|
|
|
|
/**
|
2009-03-30 23:43:05 +04:00
|
|
|
* @return boolean
|
2008-09-07 17:48:40 +04:00
|
|
|
* @override
|
|
|
|
*/
|
2009-03-30 23:43:05 +04:00
|
|
|
public function isPostInsertGenerator()
|
2008-09-07 17:48:40 +04:00
|
|
|
{
|
2009-03-30 23:43:05 +04:00
|
|
|
return true;
|
2008-09-07 17:48:40 +04:00
|
|
|
}
|
2009-02-20 08:46:20 +03:00
|
|
|
}
|