php - 使用命名参数执行 params with doctrine

标签 php doctrine named-parameters

我在 Doctrine 和命名参数方面遇到了一个奇怪的问题。

这是一个查询,它实际上与这组参数(在我的代码中是动态的)完美配合:

$params = array(    ':id_editeur' => 1,
                    ':nom_editeur' => 'Test');

public function updateById($params)
{
    Doctrine_Query::create()
       ->update('Editeur e')
       ->set('e.nom_editeur', ':nom_editeur')
       ->where('e.id_editeur = :id_editeur')
       ->execute($params);
}

现在我有另一个功能

public function findAll($params)
{
    $query = Doctrine_Query::create()
        ->from('Editeur e')
        ->orderBy(':orderby')
        ->limit(':limit')
        ->offset(':offset');

    return $query->execute($params);
}

使用这些参数:

    $params = array(    ':orderby' => ('e.id_editeur ASC'),
                        ':limit' => (10),
                        ':offset' => (20));

即使是相同的机制,我也会收到以下错误

Invalid parameter number: number of bound variables does not match number of tokens

知道原因吗?顺便说一句,如果我以经典方式直接在函数中填充 orderby、limit 和 offset,它就会起作用。

最佳答案

params var 不能包含“:”字符...

尝试替换:

$params = array(    ':id_editeur' => 1,
                ':nom_editeur' => 'Test');

到:

$params = array(    'id_editeur' => 1,
                'nom_editeur' => 'Test');

关于php - 使用命名参数执行 params with doctrine,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5894888/

相关文章:

使用派生类的 C++ 命名参数实现

php - 在 IE 中使用复选框展开/折叠 div

php - 嵌套集模型是否适用于具有多个类别(多对多)的文章?

PostgreSQL:非空违规:7 错误:列 "id"中的空值违反非空约束

mysql - 添加相关实体时 Doctrine 对象未设置外键

scala - 如何在scala中使用带有 curry 函数的命名参数

ruby - 何时在 Ruby 中使用关键字参数或命名参数

php - 错误 : PleskFatalException: StatInfo->getActiveDomainsNumber() failed: sysinfo failed: sh:/usr/local/psa/admin/bin/sysinfo: Permission denied

php - 如何填充 zend 表单选择元素?

symfony - Doctrine - 从数据库中选择一个 NULL 值