是否可以在Zend Framework 2中的Select,Update或Delete查询对象中使用命名参数? e.g。
$myValue = 'FooBar';
$sql = new Zend\Db\Sql\Sql($adapter);
$select = $sql->select('my_table')
->where('my_column = :my_value')
->setParameter('my_value', $myValue);
答案 0 :(得分:4)
从未这样做,但在旧版本的ZEND上找到答案 here
所以回答你的问题是的,这是可能的。正如在网站上解释的那样。 "如果使用命名参数,或者由字符串标识符开头的冒号(':'),请在关联数组中传递绑定值。此数组的键应与参数名称匹配。 "
$select = $sql->select('my_table')
->where('my_coumn = :my_value');
//->setParameter('my_value', $myValue);
$statement = $sql->prepareStatementForSqlObject($select);
$result = $statement->execute((array(':my_value' => 'FooBar')));//you pass named parameters here in an associative array
$resultSet = new ResultSet();
$resultSet->initialize($result);
return $resultSet->toArray();
祝你好运。