在 \Doctrine\Common\Persistence 中找不到方法 getconnection
methode getconnection not found in \Doctrine\Common\Persistence
我正在学习有关 Symfony 4 的教程,我们希望在其中创建原始查询。这是教程中提供的代码:
public function index(Request $request)
{
$entityManager = $this->getDoctrine()->getManager();
$conn = $entityManager->getConnection();
$sql = '
SELECT * FROM user u
WHERE u.id > :id
';
$stmt = $conn->prepare($sql);
$stmt->execute(['id' => 3]);
//more code
}
但是当我尝试做同样的事情时,getconnection 方法似乎无法被我的 IDE 识别,它给了我这个消息:
methode getconnection not found in \Doctrine\Common\Persistence\ObjectManager
关于我应该做什么有什么想法吗?我会感激的。
因为它不是真正的错误,而是更多的静态分析结果,您可以尝试关闭使用的静态分析工具(不确定是哪个),您可以在获取实体管理器时执行此操作:
/** @var \Doctrine\ORM\EntityManagerInterface $entityManager */
$entityManager = $this->getDoctrine()->getManager();
如果静态分析工具有任何好处,它会接受 comment/hint 并认清实体管理器的真实面目,并且可能会停止抱怨。
(我问自己的问题:是否有理由使用纯 SQL 而不是......你知道......实体管理器,比如...... $user = $entityManager->find(User::class, 3);
......除非您的用户出于某种原因不是实体)
我正在学习有关 Symfony 4 的教程,我们希望在其中创建原始查询。这是教程中提供的代码:
public function index(Request $request)
{
$entityManager = $this->getDoctrine()->getManager();
$conn = $entityManager->getConnection();
$sql = '
SELECT * FROM user u
WHERE u.id > :id
';
$stmt = $conn->prepare($sql);
$stmt->execute(['id' => 3]);
//more code
}
但是当我尝试做同样的事情时,getconnection 方法似乎无法被我的 IDE 识别,它给了我这个消息:
methode getconnection not found in \Doctrine\Common\Persistence\ObjectManager
关于我应该做什么有什么想法吗?我会感激的。
因为它不是真正的错误,而是更多的静态分析结果,您可以尝试关闭使用的静态分析工具(不确定是哪个),您可以在获取实体管理器时执行此操作:
/** @var \Doctrine\ORM\EntityManagerInterface $entityManager */
$entityManager = $this->getDoctrine()->getManager();
如果静态分析工具有任何好处,它会接受 comment/hint 并认清实体管理器的真实面目,并且可能会停止抱怨。
(我问自己的问题:是否有理由使用纯 SQL 而不是......你知道......实体管理器,比如...... $user = $entityManager->find(User::class, 3);
......除非您的用户出于某种原因不是实体)