PartKeepr\AuthBundle\Services\UserPreferenceService::deletePreference PHP Метод

deletePreference() публичный Метод

Removes a specific setting for a specific user.
public deletePreference ( User $user, string $key )
$user PartKeepr\AuthBundle\Entity\User The user to delete the preference for
$key string The key to delete
    public function deletePreference(User $user, $key)
    {
        $dql = "DELETE FROM PartKeepr\\AuthBundle\\Entity\\UserPreference up WHERE up.user = :user AND ";
        $dql .= 'up.preferenceKey = :key';
        $query = $this->entityManager->createQuery($dql);
        $query->setParameter('user', $user);
        $query->setParameter('key', $key);
        $query->execute();
    }

Usage Example

 /**
  * Retrieves a collection of resources.
  *
  * @param Request $request
  *
  * @throws \Exception                                 If the format is invalid
  * @throws RuntimeException|RootNodeNotFoundException
  *
  * @return array|\Dunglas\ApiBundle\Model\PaginatorInterface|\Traversable
  */
 public function __invoke(Request $request)
 {
     $user = $this->userService->getUser();
     if ($request->request->has('preferenceKey')) {
         $this->userPreferenceService->deletePreference($user, $request->request->get('preferenceKey'));
     } else {
         throw new \Exception('Invalid format');
     }
 }