Findby() 中的 Symfony LIKE 标准

Symfony LIKE criteria in Findby()

在一个表单中,我有一个文本输入,用于保存某些船只的名称或部分名称。

当前(工作)findby 如下:

$shipList = $shipRepo->findBy(array('faction'=>$factionSearch, 'extension'=>$extensionSearch));

为方便起见,删除了一些过滤器。我使用这种方法,这样我就不必在存储库中使用 8 个关节和成百上千的选择子句编写一个巨大的查询。

示例: 数据库中有一艘名为“Le Superbe”的船。 我的目标是,如果用户在文本字段中输入“sup”,这艘船将出现在输出中。

问题: 我可以在 findBy() 的当前过滤器顶部处理 LIKE 搜索吗?

Can I process a LIKE search on the top of current filters in the findBy() ?

答案是否定的。 Doctrine findBy 方法不允许您使用 LIKE。您将不得不使用 DQL 来执行此操作。