/** * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View * * 先分组,在查询,这里的groupBy 是 Eloquent 的方法, * 所以是先对user_id 进行分组,然后取出第一条数据 */ public function groupByGet() { $rows = Articles::select('user_id', 'title')->groupBy('user_id')->get()->toarray(); debug($rows); //取得分组后,每一组的数据条数 //$num = Articles::select(DB::Raw('user_id, count( id ) as num '))->groupBy('user_id')->get()->toarray(); //select count(id) as num group by `user_id` from `article` //随机取得2个不同的user_id //$ids = Articles::all()->unique('user_id')->random(2)->lists('user_id'); $ids = Articles::distinct()->lists('user_id')->random(2); /** * 取得所有的不同的user_id,2中方式,Eloquent 、Collection * 下面两条语句中,第一条是 Collection 方式 * 第二条是 Eloquent 方式 * 如果只是单存的为了取得 user_id,建议用 Eloquent,特别是在数据量大的时候,这样占用的内存会少很多 */ //$userIds = Articles::all()->unique('user_id')->lists('user_id'); $userIds = Articles::distinct()->lists('user_id'); debug($ids); return view('index'); }