Я написал функцию, в которой передаю параметр id через ItemRepository, а затем проверяю, принадлежит ли этот элемент другому пользователю. Я думаю, что я делаю ошибку, потому что каждый раз, когда он возвращает исключение, которое я определил.
Мой сервис:
public function itemCheck(User $user, $id)
{
/** @var Item $item */
$item = $this->getItemRepository()->find($id);
if(!$item) {
throw new AppClientException('Item not found!');
}
if($user->getId()) {
if($user->getId() == $item->getId()) {
return true;
} else {
throw new AppClientException('This item belongs to another user!!');
}
}
}
Вам больше не нужно передавать User в качестве параметров здесь. Упрости
Просто сделайте как:
public function itemCheck($id)
{
/** @var Item $item */
$item = $this->getItemRepository()->find($id);
//no record found in database, its okay
if(!$item) {
return true;
}
return false;
}
Других решений пока нет …