В моем проекте Symfony я написал метод, в котором мне нужно проверять таблицы в db.
Я ищу параметр id, который я передал в своем вызове API. Он должен быть таким же, как и для вошедшего в систему пользователя, который определяется $ this-> getUser ().
У меня есть $ account и $ paymentDevice из которых $ account-> getUser () возвращает null, поскольку этот объект не существует в db. Он существует в $ paymentDevice-> getUser (), но вроде || (OR) не достигает второго значения. Я пробовал с ?: , ?? , но не работал. Когда я заменяю заказ, он работает.
Как это исправить?
public function clearSomething($id)
{
$type = $this->getTypeRepository()->findOneBy([
'id' => $id
]);
$account = $this->getAccountRepository()->find($id);
$paymentDevice= $this->getPaymentDeviceRepository()->find($id);
if ($account->getUser() === $this->getUser() || $paymentDevice->getUser() === $this->getUser()) {
$this->em->remove($type);
$this->em->flush();
} else { throw new \Exception('Type does not belong to this Account/PaymentDevice!'); }
}