我想使用setParams
函数将参数绑定到我的学说请求。以下是我的代码,如果您发现任何错误,请纠正我。
$input = $request->getParameter('query');
$result = Doctrine_Query::create()
->from('jobeetCategory')
->where("name LIKE '$:name'")
->setParams(['name'=>$input])
->fetchArray();
答案 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