推动 ORM PHP LIKE * 语句

Posted

技术标签:

【中文标题】推动 ORM PHP LIKE * 语句【英文标题】:Propel ORM PHP LIKE * Sentence 【发布时间】:2014-12-28 23:36:14 【问题描述】:

我需要一些帮助才能执行下一个查询。我搜索了 Propel ORM 文档,但没有找到与执行 WHERE LIKE 查询相关的任何内容,并使用“*”找到多个结果:

->where('Player.Name LIKE ?*', $filter)
->find();

有没有办法使用 Active Query 进行此查询?

【问题讨论】:

【参考方案1】:

Propel 是建立在 PDO 之上的,因此即使直接使用 PDO,上述内容仍然无效。所以你不使用?与其他字符,而不是将它们连接到变量中,在您的情况下,$filter 应该包含您的通配符(即 % 不是 *)。

所以你先把它添加到$filter

例如 $filter = '%' . $filter . '%';

那么正确的语法应该是:

->where('Player.Name LIKE ?', $filter)

或即时执行:

->where('Player.Name LIKE ?', '%' . $filter . '%')

【讨论】:

以上是关于推动 ORM PHP LIKE * 语句的主要内容,如果未能解决你的问题,请参考以下文章

mysql like查询语句

PHP PDO 准备语句——MySQL LIKE 查询

如何用php对mongodb进行模糊查询

PHP CI框架中 怎么在->like中添加括号?

Mysql准备好的语句LIKE问题

PHP数据库操作:使用ORM