这是我的疑问:
Doctrine::getTable('Registar')->find('1');
'1'是ID
我想添加其他几个带有IN
条件的ID,以获得这样的请求:
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
函数添加此条件吗?
答案 0 :(得分: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'));