使用 Doctrine 在 Symfony 中加载未映射的表

问题描述 投票:0回答:1

我的数据库中有一些表,这些表不是由 Symfony 管理的;这些表没有实体。它们是来自另一个应用程序的表,我导入它们并使用 Symfony 从表中的数据生成统计信息。

我如何访问这个? 我可以为此使用学说和常规存储库吗? 我只想读取数据,不想更新。

现在我直接使用 mysqli_connect 和 mysqli_query,但是使用 Symfony 5 感觉不太对。

php database symfony mysqli doctrine
1个回答
2
投票

你应该只能用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

© www.soinside.com 2019 - 2024. All rights reserved.