Почему доктрина (1.2) использует WHERE IN
вместо LIMIT
?
Этот код:
Doctrine_Query::create()
->from('Table t')
->limit(10)
->getSqlQuery();
Возвращает что-то вроде этого:
SELECT t.id_table AS t__id_table FROM table AS t WHERE t__id_table IN (1,2,3,4,10,12,18,20,21,25);
Вместо этого:
SELECT t.id_table AS t__id_table FROM table AS t LIMIT 10;
Это поведение одинаково для любого значения LIMIT
. Это генерирует очень длинные запросы для высоких значений LIMIT
.
Бонусный вопрос: как Doctrine узнает, какие идентификаторы использовать? (Отправив другой запрос в БД??)