I am new to Doctrine 2 and I am trying to Create a new Transaction then try to see if that Transaction belong to any pre-existing Category. If it does then associate this Transaction to the given Category
When I run the code below at the highlighted point it should associate the Transaction to a Category. But I get the following Error which then tells me that the code is trying to add a new Category... but what I need it to do is to add a new reference in the table transactions_category (see the Picture below to see this table schema) and NOT a new Category... as that one already exists....
Its a ManyToMany association
How can I associate the two entities properly?

The Error:
An exception occurred while executing 'INSERT INTO category (name) VALUES (?)' with params ["Gyms"]:
SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'Gyms' for key 'name'
The Code
// Get all Categories
$categoryList = $this->getEntityManager()->getRepository('Bnk\Entity\Category')->findAll();
foreach ( $CSVData as $transactionRaw )
{
$transaction = new \Bnk\Entity\Transaction();
$transaction->setDescription( $transactionRaw[ "description" ] );
$transaction->setValue( $transactionRaw[ "value" ] );
$transaction->setDate( $transactionRaw[ "date" ] );
$transaction->setAccountnumber( $transactionRaw[ "accountNumber" ] );
$transaction->setAccountname( $transactionRaw[ "accountName" ] );
$this->getEntityManager()->persist( $transaction );
// Check if there are categories
if(!empty($categoryList))
{
// Loop through the categories
/** @var \Bnk\Entity\Category $category */
foreach( $categoryList as $category )
{
if( !$regexEntities = $category->getCategoryregex() )
// Loop through the regex of a given category
/** @var \Bnk\Entity\CategoryRegex $regex */
foreach( $regexEntities as $regex )
{
if(strpos($transactionRaw["description"],$regex->getName()) !== false)
{
// I am trying to associate the Transaction to this Category
// Instead this is adding the Category as if it was a new one
$transaction->addCategory($category);
}
}
}
}
$this->getEntityManager()->flush();
$this->getEntityManager()->clear();
}