symfony - Doctrine 2 选择空字段

标签 symfony doctrine-orm doctrine

我正在开发一个必须使用旧数据库的 Symfony 2/Doctrine 项目。我已经从现有数据库创建了一个 Doctrine 2 实体,该实体通常工作得很好。但我似乎无法让一种情况正常工作:有一些数据库条目具有空字段(不是 NULL,只是空),我想通过 Doctrine 查询进行选择。

$em = $this->getDoctrine()->getManager();
$query = $em->createQuery(
    'SELECT p FROM dtrcmsBundle:Page p WHERE p.articleName = :pageName'
)->setParameter('pageName', '');

这似乎不起作用。关于如何选择空字段有什么想法吗?

最佳答案

由于空字符串小于任何字符(我可能是错的),因此我们可以与字符编码方案中的最低字符“0”进行比较。下面的例子说明了我的意思。

$em = $this->getDoctrine()->getManager();
    $query = $em->createQuery(
    'SELECT p FROM dtrcmsBundle:Page p WHERE p.articleName < :pageName'
)->setParameter('pageName', '0');

关于symfony - Doctrine 2 选择空字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20165339/

相关文章:

php - 使用 Symfony 5.3 检查 JWT (Firebase) token

symfony - 将数组映射到 Symfony2/Doctrine2 中的实体

doctrine - 无法在 Adob​​e Commerce (Magento 2) 中执行 PHPUnit 测试

php - Doctrine 无法使用 Mamp 连接到 Symfony2 中的数据库

symfony - 如何将自定义属性添加到 Symfony Doctrine YAML 映射文件

mysql - 从 2 个表中获取数据,在 Doctrine 上没有关系

mysql - 使用 Doctrine2 的一个很好的 SQL 查询,用于从标签列表中获取项目

php - Stripe Payouts 作为托管模拟

php - Doctrine query builder IN 不工作

php - 学说 2 : select error