如何解决 Symfony 5 Omines 数据表问题
How to solve Symfony 5 Omines Datatables problem
在 Symfony 5.3 项目的 omines 数据表中使用自定义查询时,如下所示:
use Doctrine\DBAL\Query\QueryBuilder;
...
$table->createAdapter(ORMAdapter::class, [
'entity' => User::class,
'query' => function (QueryBuilder $builder) {
$builder
->select('u')
->from(User::class, 'u')
->where('u.roles LIKE :role')
->setParameter('role', '%ROLE_AGENT%')
;
},
]);
我收到以下错误:
Argument 1 passed to App\Controller\Admin\AgentController::App\Controller\Admin{Closure}() must be an instance of Doctrine\DBAL\Query\QueryBuilder, instance of Doctrine\ORM\QueryBuilder given.
我试过使用数据表文档中描述的自定义条件,但遇到了同样的错误。
我的导入是正确的,为什么会出现这个错误?
错误消息具有误导性:实际上应该为数据表查询函数提供 Doctrine\ORM\QueryBuilder 实例,而不是导致错误的 Doctrine\DBAL\Query\QueryBuilder 实例。
在 Symfony 5.3 项目的 omines 数据表中使用自定义查询时,如下所示:
use Doctrine\DBAL\Query\QueryBuilder;
...
$table->createAdapter(ORMAdapter::class, [
'entity' => User::class,
'query' => function (QueryBuilder $builder) {
$builder
->select('u')
->from(User::class, 'u')
->where('u.roles LIKE :role')
->setParameter('role', '%ROLE_AGENT%')
;
},
]);
我收到以下错误:
Argument 1 passed to App\Controller\Admin\AgentController::App\Controller\Admin{Closure}() must be an instance of Doctrine\DBAL\Query\QueryBuilder, instance of Doctrine\ORM\QueryBuilder given.
我试过使用数据表文档中描述的自定义条件,但遇到了同样的错误。
我的导入是正确的,为什么会出现这个错误?
错误消息具有误导性:实际上应该为数据表查询函数提供 Doctrine\ORM\QueryBuilder 实例,而不是导致错误的 Doctrine\DBAL\Query\QueryBuilder 实例。