Entradas

Como detectar errores al momento de Guardar Registros con Active Record

Como detectar errores al momento de Guardar Registros con Active Record Escenario: En muchas ocaciones durante el proceso de programación podrías encontrarte con errores al momento de guardar, sobre todo cuando estás aprendiendo, así que existe una forma de poder capturar estos errores y mostrarlos. Suponiendo que estamos creado un objeto a partir de un modelo       $newConfiguracionReporteModel = new ConfiguracionReporte(); //Creamos el objero      $newConfiguracionReporteModel->portada_logo_width = "400";  //Seteamos el objeto      if($newConfiguracionReporteModel->save()){ //Si lo guarda correctamente devuelve true                  echo "<br> Felicidades guardado existoso";       }else{                 echo "<br> Ha ocurrido un error al guardar.";                 var_dump($newConfiguracionReporteModel->getErrors()); //Muestra errores                     } Devuelve el o los errores en un arreglo     { ["pro

Ejemplos de Gráficas con Highcharts

Imagen
Ejemplos de Gráficas con Highcharts Ejemplos de gráficas utilizando la exención de Yii2 Highcharts. Un día en búsqueda de documentación para gráficas no encontré ningún sitio dónde encontrar ejemplos de cómo utilizar gráficas que si bien en la página de la documentación está para JS pero no para código Yii2. Por esta razón les dejaré éste tutorial donde explica el uso de algunas gráfica. Antes de poder utilizar éste componente debe de asegurarse de tener instalado el componente.  Instalación de componente  Highcharts La opción para instalarlo via composer es la siguiente. php composer.phar require --prefer-dist miloschuman/yii2-highcharts-widget "*" o si lo prefieres modificando el "composer.json" agregando ésta línea "miloschuman/yii2-highcharts-widget": "*" Una vez que está instalado y para verificar que esté funcionando puedes agregar la siguiente línea en la vista.  use miloschuman

Actualizar de Yii 2.0.12 a Yii 2.0.13.1

Imagen
Para actualizar a la versión de Yii 2.0.12 a Yii 2.0.13.1 Algo que podría ser muy sencillo se podría volver un dolor de cabeza si no se hace correctamente. Lo primero que te recomiendo es revisar, que cambios han habido en los plugins que pudieran afectar tu sitio web, sobre todo si es un proyecto que ya está en producción, en mi opinión una version estable hasta el día de hoy ( 13-Marzo-2018) es la 2.0.13.1, instale la version Yii2.0.14 pero detecté algunas fallas que no me agradaron. Una vez revisado los nuevos cambios en las diferentes versiones te recomiendo ampliamente y como Diós manda, hacer un respaldo previo de todo el proyecto antes de realizar cualquier cambios en el proyecto en producción. Actualizar Composer, se recomienda aun que no es indsipensable. php composer.phar self-update Revisar la versión del paquete "composer asset plugin" Es recomendable actualizar este paquete a través de este comando. php composer.phar global requ

Recorrer modelos con un for each

Recorrer modelos con un for each Algunas veces en necesario recorrer los modelos completos, es decir iterar los modelos de una consulta para realizar una cierta operación.   //Metodo de clase public static function getModelsReportesFiltros($entidad_id,$fechaInicial,$FechaFinal,$estado_id=0,$municipio_id=0) {         $query = Reporte::find();                 $query->joinWith(['cliente'])               ->joinWith(['cliente.municipio'])               ->where(['cliente.entidad_id' => $entidad_id]); //Siempre filtrar por entidad primero                    if($estado_id>0){                         $query->andWhere(['municipio.estado_id' => $estado_id ]);         }                    if($municipio_id>0){                         $query->andWhere(['cliente.municipio_id' => $municipio_id ]);         }         $query->andWhere(['between', 'fecha_hora', $fechaInicial, $FechaFinal]); //Siempre hay

Habilitar el componente de sessión y verlas en tiempo real

Imagen
Obtener las sessiones Activas Escenario: En ocaciones es necesario darle mantenimiento a un sistema en producción, muchas veces seleccionamos los horarios en los que no hay usuarios, inclusive podríamos asegurarnos de que no exista ningún usuario en línea para no afectar la operación.  Para estos casos podríamos hacer uso de un que Yii ofrece de manera simple y efectiva. A continuación se mostrará como habilitar el componente de sessiónes de Yii para poder ver las sessiones en tiempo real. Paso #1.  Habilitar el componente. Dentro del archivo de configuración "config/web.php", dentro de la sección de componentes: 'session' => [                 'class' => 'yii\web\DbSession',                        ], Paso #2.  Agregar una tabla en la base de datos del proyecto La cual se debe de llamar y hacer exactamente como aquí se describe, si no puede que no funcione correctamente. CREATE TABLE sessio

Como filtrar campos en Gridview con tablas relacionadas con 3 saltos

Imagen
Como filtrar campos en Gridview con tablas relacionadas con 3 saltos . Escenario: Tienes varias tablas relacionadas y no sabes como filtrar por texto esos campos que están en otras tablas, utilizando un modelo "Search". Imagen de Vista de Gridview En éste caso la solución es utilizar el modelo Search que puede ser generado automáticamente por gii de Yii2, una vez que tienes el archivo puede modificarlo para obtener los resultados deseados. En éste ejemplo se está realizando con una relación entre 3 tablas. El resultado será que podremos consultar mediante un cuadro de texto buscando en el contenido de una tabla que es diferente a la del modelo del grid. El primer paso será decidir cuales serán los campos que están en las otras tablas ya que necesitaremos hacer lo siguiente: Paso #1. Agrega parámetros públicos de tus variables de los cuales deseas realizar la búsqueda, puedes agregar cuantas relaciones tengas con otras tablas, el único

Agregar RESTFull a Controller de manera independiente en controller

Imagen
Agregar RESTFull a Controller de manera independiente He visto algunos manuales de cómo agregar RESTFull a nuestros controladores utilizando una nueva App, pero para este manual se utiliza la misma aplicación Yii sin agregar una nueva App, el objetivo es aplicarlo en un controller de manera independiente de manera pueda estas en la misma App.  El presente manual es implementado en una plantilla "Basic". Configuración de Pretty URL Verifica que tengas habilitada la opción de Pretty dentro del archivo de configuración de la aplicación, en dicho caso debas tener una configuración como la siguiente:                         [          'components' => [              'urlManager' => [                  'enablePrettyUrl' => true,                  'showScriptName' => false,                  'enableStrictParsing' => true,                  'rules' => [                      // ...                  ],             

Sentencias Active Record mas comunes Yii2

Imagen
Sentencias Active Record mas comunes Yii2 Ejemplos de sentencias Active Records más comunes en Yii2. Como se pueden mostrar las consultas SQL que se ejecutan. Una forma de debuguear de manera rápido en los casos cuando existe un error es imprimir la consulta que se está generando, esto en Yii2 se puede hacer de la siguiente manera.  $query = ReporteDetalle::find(); echo $query->createCommand()->getRawSql(); Nota. Cuando se usa en conjunto con "->All()" no funciona, así que en este caso puedes quitarle el "->All()" y deberá funcionar. SELECT  findOne() select * from tabla where id = 1; Parametro::findOne(); Esta opción es una opción abreviada de una consulta  SQL:  Parametro::findOne(); SELECT CON ALIAS 'AS' Parametro::findOne() select([  'alias' ]) ; JOIN , WHERE, WHERE AND y más En las consultas de unión se puede hacer de 2 formas por nombres de tablas

Aprende Yii2


hostinger

ventana bienvenida