我几天来一直在苦苦挣扎。我正在使用API来存储有关食品的数据。我想做的是:
如果数据库中不存在该实体,是否有一种方法(事件或其他)添加行为?
提前感谢
未经演示的代码来说明流程。
在您的存储库中:
public function findByEAN(string $ean): Product
{
$product = $this->findOnyBy(['ean' => $ean]);
if ($product === null) {
throw new EntityNotFoundException(sprintf('No Product with EAN %s', $ean);
}
return $product;
}
在您的控制器操作中:
try {
$product = $this->getEntityManager()->getRepository(Product::class)->findByEan($request->get('ean'));
} catch (EntityNotFoundException $e) {
$product = '' ; // fetch product via api and store in DB
}
return $product;