Symfony 1.4 Doctrine_query如何设置参数?

时间:2017-03-07 07:04:42

标签: doctrine symfony1

我想使用setParams函数将参数绑定到我的学说请求。以下是我的代码,如果您发现任何错误,请纠正我。

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

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

1 个答案:

答案 0 :(得分:2)

您不需要尝试使用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初学者教程。如果您是symfony 1.4的初学者并且没有被迫使用它,您肯定应该学习Symfony 2/3,symfony 1.4不再受sensiolabs支持且社区已经死了。(和Symfony 2/3很棒)

修改

如果您有更多条件,请使用andWhere()或'或其他()'尽可能多的

$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