database - 使用 Doctrine 在 Symfony 中加载未映射的表
问题描述
我的数据库中有表,不是由 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
推荐阅读
- ms-access - 从以前的记录中查找数据
- java - 将 XML 文件中的 SOAP 响应解析为对象
- python-3.x - 服务器 Python 脚本
- c++ - C++ dynamic vector of pairs
- awk - 使用 AWK 基于一个字段合并 2 个文件
- cassandra - 为什么我们在 Cassandra 中拍摄快照?
- kubernetes - helm sentry 创建了额外的负载均衡器
- node.js - 当我尝试检查身份验证时表单未提交
- mysql - 如何在 mySQL raws 的累积范围中查找错误?
- ruby-on-rails - ActiveRecord:按关联的 has_many 记录计数分组