有一个方法调用表达式:
$session->setUser($this->em->getReference(UserAccount::class, $ownerId));
其中setUser声明为
public function setUser(UserAccount $user): self
$this-> em-> getReference是Doctrines的实体管理器方法返回对象| null.
因此,PhpStorm将此调用标记为不匹配的参数 – 参数类型.
我当然可以将它分成2个语句并输入:
/** @var UserAccount $userAccount */
$userAccount = $this->em->getReference(UserAccount::class, $ownerId);
$session->setUser($userAccount);
但也许有办法内联吗?
解决方法:
我很确定它可以用他们称之为PHPStorm advanced metadata的东西.据我所知,你想要这样的东西(你可能需要试验)
override(\Doctrine\ORM\EntityManagerInterface::getReference(0), map([
'' => '@'
]))