registros - seleccionar el registro con el mayor valor en un campo sql
Cómo mostrar un usuario determinado por el número máximo de filas (1)
Estoy usando laravel 4.2 y tengo la siguiente tabla que se parece a esto
ID|chosen(boolean(''0'',''1''))|subject|user_id
1|1 |cricket|2
2|0 |cricket|3
3|1 |rugby |2
Me gustaría elegir el user_id que tiene las filas más elegidas o, en otras palabras, el usuario que tiene más 1s en la columna elegida. Entonces, en este caso, el usuario 2 sería el resultado correcto.
Creo que esta es la respuesta
$table = DB::table(''tablename'')
->select(array(DB::raw(''count(user_id) AS CountUser'')))
->where(''chosen'', 1)
->orderBy(''CountUser'', ''desc'')
->groupBy(''user_id'')
->first();
Sin embargo, ¿cómo puedo mostrar el user_id en mi opinión? Por ejemplo:
{{$table->user_id}} //should give me ''2''
El mensaje de error dice:
Propiedad indefinida: stdClass :: $ user_id
Usted está seleccionando solo el recuento. Prueba esto
$table = DB::table(''tablename'')
->select(DB::raw(''count(user_id) AS CountUser, user_id''))
->where(''chosen'', 1)
->orderBy(''CountUser'', ''desc'')
->groupBy(''user_id'')
->first();