Buenas chicos, ya conseguí que funcione, no exactamente como lo proponía en un principio pero fraccionando la petición y aumentando el límite de memoria php que permitía el servidor a 256M parece que todo va como la seda, os dejo el código
Código PHP:
$total = DB::select("SELECT count(id) as count FROM cajas");
$total = $total[0]->count;
$idF = 0;
$pedidos = array();
for ($i = 0; $i <= $id2 && $i <= $total; $i)
{
$idF += 50000;
$query = DB::select("SELECT id,ID_CAJA,ID_ALMACEN,ESTANTERIA,HUECO,PALET FROM cajas
WHERE (id BETWEEN $id1 AND $idF)
ORDER BY ID_CAJA ASC");
$id1 += 50000;
$i = $idF;
$pedidos = array_merge($pedidos, $query);
}
Gracias a todos por la ayuda y espero que esto os ayude a los que tengáis un problema parecido.
Saludos!