Bookable
1 month ago
Booking
1 month ago
Cache
3 months ago
Coupon
2 months ago
CustomField
3 months ago
Gallery
3 months ago
Google
2 months ago
Location
3 months ago
Notification
3 months ago
Outlook
2 months ago
Payment
3 months ago
Schedule
2 months ago
Tax
2 months ago
User
2 months ago
AbstractEntityRepository.php
3 months ago
AbstractRepository.php
3 months ago
AbstractEntityRepository.php
45 lines
| 1 | <?php |
| 2 | |
| 3 | /** |
| 4 | * @copyright © Melograno Ventures. All rights reserved. |
| 5 | * @licence See LICENCE.md for license details. |
| 6 | */ |
| 7 | |
| 8 | namespace AmeliaBooking\Infrastructure\Repository; |
| 9 | |
| 10 | use AmeliaBooking\Infrastructure\Common\Exceptions\QueryExecutionException; |
| 11 | |
| 12 | /** |
| 13 | * Class AbstractEntityRepository |
| 14 | * |
| 15 | * @package AmeliaBooking\Infrastructure\Repository |
| 16 | */ |
| 17 | class AbstractEntityRepository extends AbstractRepository |
| 18 | { |
| 19 | /** |
| 20 | * @param int $entityId |
| 21 | * @param string $entityType |
| 22 | * |
| 23 | * @return bool |
| 24 | * @throws QueryExecutionException |
| 25 | */ |
| 26 | public function deleteByEntityIdAndEntityType($entityId, $entityType) |
| 27 | { |
| 28 | $params = [ |
| 29 | ':entityId' => $entityId, |
| 30 | ':entityType' => $entityType, |
| 31 | ]; |
| 32 | |
| 33 | try { |
| 34 | $statement = $this->connection->prepare( |
| 35 | "DELETE FROM {$this->table} WHERE entityId = :entityId AND entityType = :entityType" |
| 36 | ); |
| 37 | |
| 38 | $statement->execute($params); |
| 39 | return true; |
| 40 | } catch (\Exception $e) { |
| 41 | throw new QueryExecutionException('Unable to delete entities in ' . __CLASS__ . '. ' . $e->getMessage(), $e->getCode(), $e); |
| 42 | } |
| 43 | } |
| 44 | } |
| 45 |