php - Symfony2 & Doctrine : Create custom SQL-Query

标签 php sql symfony doctrine

如何使用 Doctrine 在 Symfony2 中创建自定义 SQL 查询?或者没有 Doctrine,我不在乎。

不是这样工作的:

    $em = $this->getDoctrine()->getEntityManager();
    $em->createQuery($sql);
    $em->execute();

谢谢。

最佳答案

您可以直接从实体管理器中获取连接对象,并通过它直接运行 SQL 查询:

$em = $this->getDoctrine()->getManager(); // ...or getEntityManager() prior to Symfony 2.1
$connection = $em->getConnection();
$statement = $connection->prepare("SELECT something FROM somethingelse WHERE id = :id");
$statement->bindValue('id', 123);
$statement->execute();
$results = $statement->fetchAll();

但是,除非真的有必要,否则我建议不要这样做……Doctrine 的 DQL 几乎可以处理您可能需要的任何查询。

官方文档:https://www.doctrine-project.org/projects/doctrine-dbal/en/2.9/reference/data-retrieval-and-manipulation.html

关于php - Symfony2 & Doctrine : Create custom SQL-Query,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12862389/

相关文章:

php - PHP/MYSQL编辑配置文件功能-错误的查询语法?

php - symfony2 和 snc-redis : how to disable it depending of environement?

php - 来自 2 个表的 MySql session

php - 使用php将所有数组值输出到文件

sql - 使用一列 Postgresql 的最大值更新选择

mysql - 使用引用原始表的子查询删除

mysql - 删除多对多关系中的正确内容

php - html2pdf 生成不正确的 pdf

javascript - symfony 2 twig 访问数组 javascript 索引

php - 如果属性具有空字符串值,如何使 Doctrine 拒绝实体?