我的数据库中有一些表,这些表不是由 Symfony 管理的;这些表没有实体。它们是来自另一个应用程序的表,我导入它们并使用 Symfony 从表中的数据生成统计信息。
我如何访问这个? 我可以为此使用学说和常规存储库吗? 我只想读取数据,不想更新。
现在我直接使用 mysqli_connect 和 mysqli_query,但是使用 Symfony 5 感觉不太对。
你应该只能用sql查询。以下示例直接来自文档:
// src/Repository/ProductRepository.php
// ...
class ProductRepository extends ServiceEntityRepository
{
public function findAllGreaterThanPrice(int $price): array
{
$conn = $this->getEntityManager()->getConnection();
$sql = '
SELECT * FROM product p
WHERE p.price > :price
ORDER BY p.price ASC
';
$stmt = $conn->prepare($sql);
$stmt->execute(['price' => $price]);
// returns an array of arrays (i.e. a raw data set)
return $stmt->fetchAllAssociative();
}
}
https://symfony.com/doc/current/doctrine.html#querying-with-sql