Symfony 要求输入提示 SqlWalker 构造函数参数

Posted

技术标签:

【中文标题】Symfony 要求输入提示 SqlWalker 构造函数参数【英文标题】:Symfony asks to type-hint SqlWalker constructor parameters 【发布时间】:2020-01-27 12:49:52 【问题描述】:

我有问题。 我正在为 Doctrine DQL 查询创建自定义 walker,它扩展了 SqlWalker 类。

class UseIndexWalker extends SqlWalker

symfony 要求自动装配 SqlWalker __construct 的参数。

Cannot autowire service "App\Object\UseIndexWalker": argument "$query" of method "__construct()" has no type-hint, you should configure its value explicitly.

这就是我添加 walker 以在控制器/存储库中查询的方式。

$queryBuilder->getQuery()
   ->setHint(Query::HINT_CUSTOM_OUTPUT_WALKER, UseIndexWalker::class)
   ->setHint(UseIndexWalker::HINT_USE_INDEX, 'event_search1_location_idx')->getResult();

如何解决这样的问题?

【问题讨论】:

【参考方案1】:

我通过将文件添加到 services.yaml 文件的排除属性来修复它

【讨论】:

以上是关于Symfony 要求输入提示 SqlWalker 构造函数参数的主要内容,如果未能解决你的问题,请参考以下文章

Symfony 5.2.3 接口类型提示

Symfony 4:参数的类型提示无效

黑马基础阶段测试题:提示用户输入账户名, 账户名要求长度需大于5,且以字母开头。若不合要求,则提示用户重新输入,直至输入的账户名符合要求为止。

Symfony:控制器类型提示 UserInterface

Symfony getUser 类型提示

纠正 PHPStan 在 Symfony 项目的 UserInterface 上抛出的类型提示错误