With propel we have findOneOrCreate()
Example.
$bookTag = BookTagQuery::create()
->filterByBook($book)
->findOneOrCreate();
In doctrine anywhere in the controller We can do something like that.
...................
$filename='something';
$document_exists = $em->getRepository('DemoBundle:Document')
->findOneBy(array('filename' => $filename));
if (null === $document_exists) {
$document = new Document();
$document->setFilename($filename);
$em->persist($document);
$em->flush();
}
Is there another way to achieve this in Doctrine?
Is it OK to call the Entity Manager inside the Entity Repository? Any suggestions?