laravel 4.2复杂查询的paginate

I have a complex query (union between two queries each of them is a join between 3 tables)using paginate(), so what happen here is pagination does not run for first time entering the page . but when i use where and use pagination of the returned result from query with where it works perfectly. now that query causes the server to hang any idea why the pagination (limit) do not work first time? thanks

this is solved with me using simplePaginate() instead of paginate() which as the documentation says "This is very useful for large datasets "