我正在使用ZF2 TableGateway并希望进行选择,例如where md5(email) = $hash
我已尝试在->select(array('md5(email)' => $hash));
的选择中执行此操作,但这不起作用,我找不到列。
有什么建议吗?
谢谢!
答案 0 :(得分:0)
如果您使用的是Zend \ Db \ TableGateway。
use Zend\Db\Adapter\Adapter;
use Zend\Db\Sql\Sql;
use Zend\Debug\Debug;
$driver = array('db' => array('driver' => 'Pdo', 'dsn'=>'mysql:dbname=zf2;host=localhost;
charset=utf8', 'user'=>'root','pass'=>'pass')
);
$db = new Adapter($driver);
$sql = new Sql($db);
$select = $sql->select();
$select->from('YourTable');
$select->where(array('md5(email)' => $hash));
OR
$select->where->equalTo('md5(email)', $hash);
可能有用。未经测试。
答案 1 :(得分:0)
->select(array('md5(email) = ?' => $hash));
可以工作,这将返回结果集对象以获得结果使用
$resultset->current(); //to get the current row