public function registerDoctrineMapping(array $config)
{
if (!class_exists($config['class']['invoice'])) {
return;
}
$collector = DoctrineCollector::getInstance();
/*
* INVOICE
*/
$collector->addAssociation($config['class']['invoice'], 'mapManyToOne', array('fieldName' => 'customer', 'targetEntity' => $config['class']['customer'], 'cascade' => array('persist', 'refresh', 'merge', 'detach'), 'mappedBy' => null, 'joinColumns' => array(array('name' => 'customer_id', 'referencedColumnName' => 'id', 'onDelete' => 'SET NULL')), 'orphanRemoval' => false));
$collector->addAssociation($config['class']['invoice_element'], 'mapManyToOne', array('fieldName' => 'invoice', 'targetEntity' => $config['class']['invoice'], 'cascade' => array('persist', 'refresh', 'merge', 'detach'), 'mappedBy' => null, 'inversedBy' => 'invoiceElements', 'joinColumns' => array(array('name' => 'invoice_id', 'referencedColumnName' => 'id', 'onDelete' => 'CASCADE')), 'orphanRemoval' => false));
$collector->addAssociation($config['class']['invoice'], 'mapOneToMany', array('fieldName' => 'invoiceElements', 'targetEntity' => $config['class']['invoice_element'], 'cascade' => array('persist'), 'mappedBy' => 'invoice', 'orphanRemoval' => true));
$collector->addAssociation($config['class']['invoice_element'], 'mapManyToOne', array('fieldName' => 'orderElement', 'targetEntity' => $config['class']['order_element'], 'cascade' => array(), 'joinColumns' => array(array('name' => 'order_element_id', 'referencedColumnName' => 'id', 'onDelete' => 'CASCADE'))));
}