Go to Google Groups Home    doctrine-user
Re: Problem with paged Doctrine in using Doctrine Query -> offset to the query page

Nixs <acron...@gmail.com>

SQL queries

   1. SELECT DISTINCT p2.id FROM producto p2 LEFT JOIN
imagenes_producto i2 ON p2.id = i2.producto_id LEFT JOIN categoria c2
ON p2.categoria_id = c2.id WHERE p2.tienda_id = 1 ORDER BY p2.id desc
LIMIT 4 OFFSET 13

2. SELECT p.id AS p__id, p.precio AS p__precio, p.descripcion AS
p__descripcion, p.titulo AS p__titulo, p.moneda AS p__moneda, i.id AS
i__id, c.id AS c__id, c.nombre AS c__nombre FROM producto p LEFT JOIN
imagenes_producto i ON p.id = i.producto_id LEFT JOIN categoria c ON
p.categoria_id = c.id WHERE p.tienda_id = 1 ORDER BY p.id desc

I use sfDoctrinePager exactly the same problem occurs

On 2 jul, 18:14, Szabolcs Heilig <szabolcs.hei...@gmail.com> wrote:

> Hello,

> To get closer tho know what does Doctrine in that case,
> (your offset is out of the bound) check the generated SQL with:

> echo $query->getSql();

> You can check the generated SQL with that step.

> 2009/7/2 Nixs <acron...@gmail.com>

> > hello. I'm in a weird situation. I need to paginate
> > and show 10 results per query does pagina.mi correctly.
> > Then -> offset (10) in the query shows the following 10
> > results.
> > The question is what does it correctly. The problem is that when
> > asks a page, for example the number 500, which is not logically
> > There, instead of not returning anything, I devulve ALL!

> > here's the code:

> > public static function buscarProductos($tiendaId,$cantResultados =
> > 10,$offSet){

> >                $query= Doctrine_Query::create()
> >                ->select
> > ('p.id,ip.id,p.precio,p.descripcion,p.titulo,p.moneda,c.id,c.nombre')
> >                ->from('Producto p,p.ImagenesProducto ip,p.Categoria
> > c')
> >                ->addWhere('p.tienda_id='.$tiendaId)
> >                ->orderBy('p.id desc')
> >                ->limit($cantResultados)
> >                ->offSet($offSet)
> >                ->execute(array(),Doctrine::HYDRATE_ARRAY);

> >                return $query;