public function registerDoctrineMapping(array $config)
{
if (!class_exists($config['class']['customer'])) {
return;
}
$collector = DoctrineCollector::getInstance();
$collector->addAssociation($config['class']['customer'], 'mapOneToMany', array('fieldName' => 'addresses', 'targetEntity' => $config['class']['address'], 'cascade' => array('persist'), 'mappedBy' => 'customer', 'orphanRemoval' => false));
$collector->addAssociation($config['class']['customer'], 'mapOneToMany', array('fieldName' => 'orders', 'targetEntity' => $config['class']['order'], 'cascade' => array('persist'), 'mappedBy' => 'customer', 'orphanRemoval' => false));
$collector->addAssociation($config['class']['customer'], 'mapManyToOne', array('fieldName' => 'user', 'targetEntity' => $config['class']['user'], 'cascade' => array('persist'), 'mappedBy' => null, 'inversedBy' => 'customers', 'joinColumns' => array(array('name' => 'user_id', 'referencedColumnName' => $config['field']['customer']['user'], 'onDelete' => 'SET NULL')), 'orphanRemoval' => false));
$collector->addAssociation($config['class']['address'], 'mapManyToOne', array('fieldName' => 'customer', 'targetEntity' => $config['class']['customer'], 'cascade' => array('persist'), 'mappedBy' => null, 'inversedBy' => 'addresses', 'joinColumns' => array(array('name' => 'customer_id', 'referencedColumnName' => 'id', 'onDelete' => 'CASCADE')), 'orphanRemoval' => false));
}