如何使用And(而不是Like)构建Zend谓词

时间:2019-01-16 21:49:27

标签: php zend-framework

我正在构建一个函数,该函数将一组参数转换为Zend \ Db \ Sql \ Predicate \ Predicate以传递给select语句。我已经成功地将一系列列和术语转换为“和喜欢的”查询,

$p = new Predicate();
foreach ($columns as $index => $value) {
  $predicate->and->like($columns[$index], '%' . $terms[$index] . '%');
}

产生

WHERE column LIKE %term% AND column2 LIKE %term2%

我的问题是如何在不使用LIKE的情况下执行此操作,所以假设的代码应该是

$p = new Predicate();
foreach ($columns as $index => $value) {
  $predicate->and($columns[$index], $terms[$index]);
}

生产

WHERE column = term AND column2 = term2

我浏览了Predicate的文档,但没有找到解决方案。上面显示的代码错误为“调用未定义方法Zend \ Db \ Sql \ Predicate \ Predicate :: and()”

在其他查询功能中,我已经成功使用

$select->where(array($columnName => $columnVal));

是否有办法创建相同的效果,但将其附加到较大的Predicate语句上?感谢您的阅读,不胜感激!

0 个答案:

没有答案