, , , , , :
cart_id:
/**
* @var integer
*
* @ORM\Column(name="cart_id", type="integer", nullable=false)
*/
private $cart_id;
, , :
* @ORM\Table(uniqueConstraints={@UniqueConstraint(name="cart_idx", columns={"line_id", "cart_id"})})
, cart_id ( ManyToOne:
<?php
namespace CM\PlatformBundle\Entity;
use Doctrine\ORM\EntityRepository;
class CartRepository extends EntityRepository
{
public function getLastCartIdForLine($lineId) {
return $this->createQueryBuilder('c')
->select('c.cart_id')
->join('c.line','l')
->andWhere('l.id = :lineId')
->setParameter('lineId', $lineId)
->orderBy('c.id', 'DESC')
->setMaxResults(1)
->getQuery()
->getSingleScalarResult();
}
}
, , :
$cart = new Cart;
$lastCartId = $em->getRepository('CMPlatformBundle:Cart')->getLastCartIdForLine($lineId);
$cart->setCartId($lastCartId+1);
$em->persist($cart);
, , . , - .