PHP:在null上调用成员函数getMetaValue()

时间:2019-04-10 05:54:15

标签: php symfony

我正在使用Symfony 4.2,但遇到一个非常奇怪的错误:

Call to a member function getMetaValue() on null

在这一行:

$firstName = $firstNameObj->getMetaValue();

奇怪的是我写的时候:

var_dump($firstNameObj);
$firstName = $firstNameObj->getMetaValue();

var_dump显示了一个普通对象,其中包含填充的属性metaKey,在调试位置,我将die放入了该getter方法:

public function getMetaValue(): ?string
{   
    var_dump($this);
    die('aaaa'.$this->metaValue);
    return $this->metaValue;
}

在这些调试转储中,一切看上去都很正常。而且错误不是直接的,我的意思是它并没有停止在这一行,而是在结束了调用此函数的foreach之后:

foreach ($wpUsers as $wpUser) {
    $users[] = $this->getUserFromMultipleTables($wpUser->getId());
}

包含错误的整个函数:

public function getUserFromMultipleTables($id)
{
    $wpUser = $this->wpUsersRepository->findOneBy(['id' => $id]);

    $firstNameObj = $this->wpUsermetaRepository->findOneBySomeField($id,'first_name');
    $lastNameObj = $this->wpUsermetaRepository->findOneBySomeField($id,'last_name');

    // dd($firstNameObj);
    $firstName = $firstNameObj->getMetaValue();
    $lastName = $lastNameObj->getMetaValue();

    $user = new User();

    $user->setId($wpUser->getId());
    $user->setUsername($wpUser->getUserLogin());
    $user->setFirstName($firstName);
    $user->setLastName($lastName);
    $user->setEmail($wpUser->getUserEmail());  
    // dd($user);
    return $user;      
}

0 个答案:

没有答案