在paginate()i Laravel 5.1之前获取所有结果

时间:2015-10-16 10:25:10

标签: mysql laravel eloquent 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

如果有更好的解决方案,我很乐意听到

3 个答案:

答案 0 :(得分:1)

您可以使用以下查询获取所有参数的值。

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

答案 1 :(得分:0)

如果您想要所有结果,请使用all()

获取结果
Cars::select('cars.*', 'car_images.*') ... ->all();

但如果您只需要Car ID进行其他查询,我建议您这样做:

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

答案 2 :(得分:0)

你可以通过

获得所有汽车识别码
Cars::with('car_images')->lists('id')->array();