ZF2 Sql使用命名参数

gaw*_*ron 5 php sql named-parameters zend-framework2

是否可以在Zend Framework 2中的Select,Update或Delete查询对象中使用命名参数?例如

$myValue = 'FooBar';

$sql = new Zend\Db\Sql\Sql($adapter);
$select = $sql->select('my_table')
              ->where('my_column = :my_value')
              ->setParameter('my_value', $myValue);
Run Code Online (Sandbox Code Playgroud)

小智 4

从未这样做过,但在旧版本的 ZEND上找到了答案

所以回答你的问题是的,这是可能的。正如所提供的网站上所解释的那样。“如果您使用命名参数,或者那些由前面带有冒号字符 (':') 的字符串标识符指示的参数,请在关联数组中传递绑定值。该数组的键应与参数名称匹配。”

$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();
Run Code Online (Sandbox Code Playgroud)

祝你好运,伙计。