2

这是我的查询:

Doctrine::getTable('Registar')->find('1');

'1' 是一个 ID

我想添加其他几个 IDIN有条件有这样的请求:

SELECT c.id AS c__id, c.created_at AS c__created_at, c.updated_at AS c__updated_at FROM registar c WHERE c.id IN ('1','2','3')

可以通过find功能添加此条件吗?

4

1 回答 1

5

find只是使用主键(在您的情况下)检索一行的一种简短方法id

如果要进行更复杂的查询,则必须使用where方法,如下所示:

Doctrine::getTable('Registar')
  ->whereIn('id', array('1','2','3'))
  ->execute();

最好在里面定义这个方法RegistarTable.class.php,像这样:

public function findByIds($ids)
{
  return $this->createQuery()
    ->whereIn('id', $ids)
    ->execute();
}

然后使用以下命令调用它:

Doctrine::getTable('Registar')->findByIds(array('1','2','3'));
于 2013-05-29T16:47:08.190 回答