如何在 querybuilder where 子句中使用子字符串

How to use substring in a querybuilder where clause

如何在查询生成器中使用子字符串:

我试过这个:

$qb->andWhere($qb->expr()->substring('t0.country',1,2) != 'FR');

...

但我有这个例外:

Warning: get_class() expects parameter 1 to be object, boolean given

您试图在 PHP 中使用 != 运算符,这将不起作用。相反,将条件包装在 neq 函数中,该函数测试不等式。

$qb->andWhere(
    $qb->expr()->neq(
        $qb->expr()->substring('t0.country', 1, 2), 
        $qb->expr()->literal('FR')
    )
);

在此处查看文档:https://www.doctrine-project.org/projects/doctrine-orm/en/2.6/reference/query-builder.html#the-expr-class