SequenceIdentityGenerator.php 548 Bytes
Newer Older
romanb's avatar
romanb committed
1 2
<?php

3 4
namespace Doctrine\ORM\Id;

5 6
use Doctrine\ORM\EntityManager;

7
class SequenceIdentityGenerator extends IdentityGenerator
romanb's avatar
romanb committed
8 9 10 11 12 13 14
{
    private $_sequenceName;
    
    public function __construct($sequenceName)
    {
        $this->_sequenceName = $sequenceName;
    }
15 16 17 18 19

    public function generate(EntityManager $em, $entity)
    {
        return $em->getConnection()->lastInsertId($this->_sequenceName);
    }
romanb's avatar
romanb committed
20 21
    
    /**
22
     * @return boolean
romanb's avatar
romanb committed
23 24
     * @override
     */
25
    public function isPostInsertGenerator()
romanb's avatar
romanb committed
26
    {
27
        return true;
romanb's avatar
romanb committed
28
    }
29
}