我无法处理find函数的null返回

时间:2019-07-08 13:44:11

标签: php symfony doctrine-orm null

正如标题中所宣布的,我尝试根据无效学说的回应采取行动。但是,尽管转储确认返回了空值,但我的代码并未考虑到它。请问原因是什么? 这是我的代码:

    public function getUserBATS(UserRepository $repository ,$email, ObjectManager $em): Collection
    {
        $user = $repository->findOneBy(array('email' => $email));
        dump($user);
        if($user != null) {
            $bats = $user->getBATS();
            return $bats;
        }
        else
        { return $message = 'email don't...';}
    }

Symfony response

1 个答案:

答案 0 :(得分:1)

您需要执行以下操作,导致您的函数返回Collection而不是字符串:

public function getUserBATS(UserRepository $repository ,$email, ObjectManager $em): Collection
{
    $user = $repository->findOneBy(array('email' => $email));
    if($user !== null) {
        return $user->getBATS();
    }
    throw new NotFoundHttpException('user not found');
}