Tengo el siguiente código php/eloquent en un controlador:
public function dashboard() { $subsByCtryArr = Organisation::join('countries_currencies', 'countries_currencies.id', '=', 'organisations.country_id') ->select(DB::raw('DISTINCT LCASE(countries_currencies.country_code) AS ctry, COUNT(organisations.id) AS regs')) ->groupBy('ctry') ->get(); $subsByCtry = $subsByCtryArr->pluck('regs', 'ctry')->toJson(); return view("sim-manager.dashboard", compact('subsByCtry', 'userByCtry')); } En mi blade , dentro de un segmento de código JS puse:
var subsCtry = {!! json_encode($subsByCtry) !!}; Si registro subsCtry a la consola obtengo:
{"at":1,"au":10,"br":1,"nz":1} Pero necesito una serie de objetos para Highmaps :
[['at', 1],['au', 10],['br', 1],['nz', 10]] ¿Cómo formateo los datos desde el back-end a mi variable JS ?
Lo resolvió eliminando la función PHP json_encode en mi configuración de variable JS/
var subsByCtry = {!! $subsByCtry !!};