2015-10-16 63 views
0

在分頁之前是否可以獲取所有查詢結果?獲取paginate()之前的所有結果Laravel 5.1

$results = Cars::select('cars.*', 'car_images.*') ... ->paginate(10); 

該查詢返回1000+的結果,但分頁顯示只有10.我想所有cars.id的,我可以在其他查​​詢中使用,以顯示所有可能的參數,從結果1000+汽車。

汽車

id | brand | model | year | 

參數

id | param_name 
--------------------- 
1 | color 
2 | fuel 

Car_parameters

car_id | param_id | param_value 
--------------------------------- 
1  | 1  | red 
1  | 2  | diesel 

如果有一個更好的解決方案,我很想聽到

+0

我在桌子'汽車'有超過30K輛車。當我做搜索查詢結果500輛汽車,但分頁顯示每頁只有30。我需要顯示所有可能的參數,以獲得完整的結果(所有不同的參數爲500輛) –

+0

您可以發佈您的模型嗎?從你的表格結構中,我明白你在汽車和參數之間有多對多的關係,並且帶有額外字段「param_value」的名爲Car_parameters的數據透視表。那是對的嗎? – geoandri

回答

1

您可以使用以下查詢獲取所有參數的值。

$parameters = DB::table('Car_parameters')->select('param_value')->distinct()->get(); 
0

如果你希望所有的資源ULTS,只是拿它們與all()

Cars::select('cars.*', 'car_images.*') ... ->all(); 

但是如果你只需要在汽車IDS的另一個查詢,我建議這樣做:

$carIds= (array) DB::table('cars') 
     ->selectRaw('GROUP_CONCAT(id) as ids') 
     ->where(...) 
     ->get(); 
0

你可以得到所有汽車的id

Cars::with('car_images')->lists('id')->array();