Решение было найдено, возможно не совсем оптимальное, но всетаки решение.
В ProductsManager.php нужно было внести следующие изменения:
public function addNewProduct($data)
{
// Создаем новую сущность Post.
$product = new Products();
$product->setName($data['name']);
$product->setPrice($data['price']);
$product->setDescription($data['description']);
$product->setStatus($data['status']);
// Добавляем сущность в менеджер сущностей.
$this->entityManager->persist($product);
// Добавляем теги к посту.
$prod = $this->addCategoryToProduct($data['category_id']);
$product->setCategory($prod);
// Применяем изменения к базе данных.
$this->entityManager->flush();
}
// Добавляет/обновляет теги в заданном посте.
private function addCategoryToProduct($prodCat)
{
// Добавляем категории к продуктам
$category = $this->entityManager->getRepository(Category::class)
->find($prodCat);
if ($category == null){
$category = new Category();
}
return $category;
}
Т.е. добавить еще один метод который бы возвращал экземпляр класса Category. Для более сложной бизнес-логики необходимо будет вносить дополнения (методы) в саму Entity.
Может кому-то пригодится мой ответ.