人
我想在我的数据库中检查是否有任何类似的版本。现在,如果我在mysql中运行sql语句,它会给我回复结果,遗憾的是下面的脚本将返回FALSE。函数收到正确的$ var我已经用var_dump()检查了它。
非常感谢任何帮助。
public function checkForSimilarities($var)
{
$sql = new \Zend\Db\Sql\Sql($this->getAdapter());
$select = $sql->select()
->from($this->tableName)
->where("version LIKE '%$var%'");
$stmt = $sql->prepareStatementForSqlObject($select);
$results = $stmt->execute();
return $this->hydrate($results);
}
public function hydrate($results)
{
$szamla = new \Zend\Db\ResultSet\HydratingResultSet(
$this->hydrator,
$this->entityPrototype
);
return $szamla->initialize($results);
}
答案 0 :(得分:0)
只需将Zend的like
方法与where
方法结合使用即可。例如:
$select->columns($columns)
->where->like('version', "%$var%");
// example of using OR with "like" in case you ever need it
// ->where->OR->like('name', '%'. $s .'%');
非常确定您可以在ZF2文档中找到有关它的更多信息: http://framework.zend.com/manual/2.0/en/modules/zend.db.sql.html#like-identifier-like