jueves, 25 de febrero de 2016

Solución al problema Uncaught ReferenceError: Hh is not defined

Quién sabe.

He notado que al ir cambiando el código en mi Javascript, sale este error y desaparece si vuelvo a poner el archivo original. No sé si tenga que ver con espacios en blanco adicionales o si sea el editor de texto.

No he podido encontrar gran cosa al respecto en Internet.

Si alguien quiere comentar al respecto, por favor hágalo.

martes, 23 de febrero de 2016

Solución al problema Uncaught Error: Type mismatch. Value 3 does not match type number in column index 1 en Google Charts

Este error se soluciona aplicando una función llamada parseInt(); Entonces, si tienes este problema tienes que aplicar esta función:

valor = parseInt(valor);

Es todo.

martes, 16 de febrero de 2016

Cómo hacer los google charts responsive

Si estás programando un sitio o aplicación web responsive en donde estés utilizando los Google charts y ves que no son responsive, es decir, que el tamaño de las gráficas no se va adaptando al tamaño del dispositivo, lo que tienes que hacer es lo siguiente:

Justo al final de tu función drawChart() debes agregar lo siguiente:
function resizeHandler () {
            chart.draw(data, options);
        }
        if (window.addEventListener) {
            window.addEventListener('resize', resizeHandler, false);
        }
        else if (window.attachEvent) {
            window.attachEvent('onresize', resizeHandler);
        }
También, en el div, elimina si tienes el style. Yo sé que en el style pusiste el tamaño del gráfico.

Más bien, para configurar el tamaño del gráfico, tienes que hacerlo dentro de la misma función drawChart() en la sección de options, por ejemplo:
var options = {
            title: 'Número de proyectos vigentes por área de investigación',
            backgroundColor: { fill:'transparent'},
            height: 500,
            width: 900,
        };
Referencias:
http://stackoverflow.com/a/18984903/1883256
¡Salud!.

lunes, 15 de febrero de 2016

Solución al error de Eloquent " A facade root has not been set"

Suponiendo que estás utilizando el paquete o package de Eloquent y  ahora quieres utilizar el query builder de Eloquent para hacer un query como:

DB::table('tu_tabla');

Y también quieres utilizar la función RAW:

select(DB::raw('DISTINCT valor, COUNT() AS cantidad'));

Lo que pasa es que no hay que llamarlo como DB:: Sino como Capsule::

Entonces, primero utiliza la librería dentro de tu controlador o ruteador:

use Illuminate\Database\Capsule\Manager as Capsule;

Y ya puedes hacer una consulta o query como sigue:

$proyectosporarea = Capsule::table('projects AS p')    ->select(Capsule::raw('DISTINCT a.area AS Area, COUNT(a.area) AS Cantidad'))    ->leftJoin('areas AS a','p.area_id','=','a.id')    ->where('p.status','in_process')    ->where('a.area','<>','NULL')    ->orderBy('Cantidad','desc')    ->groupBy('a.area')    ->get();

Y ya debe funcionar.

Pero si ahora, te encuentras con el siguiente error:

Fatal error: Call to a member function connection() on null in \vendor\illuminate\database\Capsule\Manager.php on line 86

Lo que tienes que hacer es, donde pusiste los parámetros de conexión a la base de datos, debes agregar lo siguiente:

/*Make this Capsule instance available globally via static methods*/$capsule->setAsGlobal();//Tuve que agregar esto para que funcionara el DB (Capsule)

Esto mismo está descrito en la documentación

Listo.

Cómo borrar o eliminar múltiples registros en Eloquent ORM

Probablemente, al intentar borrar múltiples registros, o una colección de datos, te haya salido el siguiente error: Call to undefined method Illuminate\Database\Eloquent\Collection::delete()

Esto es porque delete() funciona cuando has obtenido un sólo registro ya sea con el metodo find() o con first();

Sin embargo, cuando necesitas obtener varios datos, utilizas el método get();

Entonces, lo que he hecho es, a partir de un get, realizo un foreach, del cual extraigo sólo los identificadores (IDs) y al final aplico el método destroy(arreglo IDs);

El método destroy() funciona ya sea con un ID específico o con un arreglo de IDs.

Por ejemplo, selecciono los registros que quiero eliminar utilizando x condición:

$registros=Modelo::where('condicion','tal')->get();

Ahora, para cada registro, obtengo el ID y lo almaceno en un arreglo:

foreach($registros as $registro){
    $ids[]=$registro->id;
}

Finalmente procedo a eliminar esos registros:

$eliminados = Modelo::destroy($ids);

Listo.

miércoles, 10 de febrero de 2016

Solución al error en Eloquent ORM "Object of class Illuminate\Database\Eloquent\Relations\BelongsTo could not be converted to string"

Cuando se te aparece este error, lo más probable es que te falte hacer un loop for o foreach.
Igualmente te puede faltar más profundidad. Por ejemplo, mostrar la simple cadena
{{ string }} puede requerir de que se muestre la columna a manera de propiedad:
{{string.nombre}}, etc.

lunes, 1 de febrero de 2016

Cómo solucionar el mensaje de error en composer.json Fail: no license specified

Si este mensaje te ha aparecido después de ejecutar el comando composer diagnose, hay que especificar, en el archivo composer.json, el tipo de licencia que tiene tu proyecto.

Si tu proyecto es totalmente libre y abierto a cualquier otra persona, basta con que coloques dentro de las llaves {} del archivo composer.json la siguiente línea:

{
    //dentro de las llaves {} de tu composer.json
    "license": "MIT",
}

Si tu licencia es de otro tipo, consulta aquí las demás posibilidades.

Cómo solucionar el error de composer "update failed: the "/usr/local/bin/composer" file could not be written"

Si acabas de ejecutar en tu consola el comando "composer self-update" o "composer selfupdate" y te sale el error "update failed: the "/usr/local/bin/composer" file could not be written", es porque necesitas permisos de administrador.

Entonces ejecuta:

sudo composer self-update

Después de ejecutar dicho comando, en tu consola se te pedirá la contraseña y listo.
 

Tags