php - 如何在 Doctrine 的 createQuery 的 where 子句中使用字符串?

标签 php mysql database symfony doctrine

我正在尝试使用 Doctrine 查询数据库中的条目数。

    $query = $em->createQuery('SELECT COUNT(p.id) FROM AppBundle:Product p where p.live = 1');
    $count = $query->getSingleScalarResult();

我想扩展 where 子句并使用“p.supplier == adidas”。

如何将其添加到查询中?

我可以用 findBy(array("live"=> 1, "supplier"=> "adidas")) 但我推测 findBy 比直接 Mysql 查询慢得多。我说得对吗?

最佳答案

理想情况下您应该使用参数:

$query = $em->createQuery('SELECT COUNT(p.id) FROM AppBundle:Product p WHERE p.live = :live AND p.supplier = :supplier')
    ->setParameters([
        'live' => 1,
        'supplier' => 'adidas'
    ]);

关于php - 如何在 Doctrine 的 createQuery 的 where 子句中使用字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57719565/

相关文章:

javascript - 如何使用 PHP、Jquery 或任何 API 获取 Android 应用程序 ID 或名称?

mysql - 获取计数 (*) 与实际数据对性能有影响

database - 没有 Linq 时像 Linq 一样查询

php - 具有 3 个外键的数据透视表的 Eloquent 模型?

php - Android Web 应用程序 - 带有本地数据库的 php

php - 通过ajax提交表单;如果禁用 javascript,回退方法?

php - PHP - MySQL 脚本非常慢

phpunit:是否有类似于 perl 的 Test::More::note() 和 Test::More::diag() 函数的函数?

mysql - 使用MySQL into OUTFILE生成Excel可读的UTF8数据

php - mysql_fetch_assoc 从主键返回数组