Zend框架Sql LIKE查询没有结果

时间:2014-05-16 14:35:45

标签: zend-framework2

我想在我的数据库中检查是否有任何类似的版本。现在,如果我在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);
}

1 个答案:

答案 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