使用不同数量的ID创建Doctrine查询

时间:2012-12-06 16:05:15

标签: php sql doctrine

是否可以使用来自提交表单的不同数量的ID创建一个Doctrine查询?如果是的话怎么样?

我想做的是:

 ....

 if ($input->isValid()) {

$q = Doctrine_Query::create()
                ->from('Imm_Model_Images i')
                ->whereIn('i.ImageID = ?', array($input->ids));

$result = $q->fetchArray();

PS:ID来自数组中提交的表单为ids []。

添加了编辑:

勾选上述一行:

->whereIn('i.ImageID = ?', array($input->ids));

使用:

->whereIn('i.ImageID = array($input->ids)');

......它似乎有效。

1 个答案:

答案 0 :(得分:1)

在DQL中,您拥有in运算符(请参阅documentation)。

看起来像是:

$q = Doctrine_Query::create()
    ->from('User u')
    ->whereIn('u.id', $arrayOfReturnedValues);

使用doctrine中的whereIn函数,您无需发送= ?占位符。您只需指定字段的名称以及数组中的关联值。