Findby() 中的 Symfony LIKE 标准

标签 symfony doctrine-orm sql-like

在表单中,我有一个文本输入,其目的是保存某些船舶的名称或部分名称。

当前(工作)findby 如下:

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

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

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

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

最佳答案

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

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

关于Findby() 中的 Symfony LIKE 标准,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67833798/

相关文章:

symfony - 获取 Symfony 中包内目录的路径

doctrine-orm - Doctrine2 - 特定的 NULL 排序

php - 在 Doctrine 结果上使用 jsonModel 返回 JSON 数据时得到空响应 - 特殊字符编码问题

mysql - 准确搜索3列姓名

php - 有没有办法在 EasyAdmin 3 中表示 JSON 字段?

php - PropertyAccessor 需要对象或数组的图形来操作,但它发现类型 "NULL"

php - 如何使用symfony2学说在表中添加列

postgresql select like 一列两个词

sql - LIKE 'x%' 有效,但 LIKE '%x' 不适用于 INT 转换为 STRING

symfony - 在 Symfony2 中使用假脱机和发送即时电子邮件的附加邮件服务 - 奇怪的 header