Symfony 1.4 Doctrine_query 如何设置参数?

Symfony 1.4 Doctrine_query how to set parameter?

我想使用 setParams 函数将参数绑定到我的学说请求。以下是我的代码,如有错误请指正。

$input = $request->getParameter('query');

 $result = Doctrine_Query::create()
            ->from('jobeetCategory')
            ->where("name LIKE '$:name'")
            ->setParams(['name'=>$input])
            ->fetchArray();

你不需要尝试使用 setParams():

$result = Doctrine_Query::create()
        ->from('jobeetCategory')
        ->where('name LIKE ?', $input)
        ->fetchArray()
;

来自 Sf1.4 文档:

  ->where('j.expires_at > ?', date('Y-m-d H:i:s', time()));`

顺便说一句,我从 'jobeet' 看到您正在关注 symfony 1.4 初学者 tutorial.If 您是 symfony 1.4 的初学者,并不是被迫使用它,您绝对应该学习 Symfony 2/3 , symfony 1.4 不再受 sensiolabs 支持,社区已经死了。(Symfony 2/3 很棒)

编辑:

如果您有更多条件,请根据需要使用 andWhere() 或 'orWhere()'

$result = Doctrine_Query::create()
    ->from('jobeetCategory')
    ->where('name LIKE ?', $input['name'])
    ->andWhere('price < ?', $input['price'])
    ->orWhere('shipping > ?', $input['shipping'])
    ->fetchArray()
;

进一步参考:http://doctrine.readthedocs.io/en/latest/en/manual/dql-doctrine-query-language.html#where-clause