Laravel Eager Loading, validar que se cumpla una condición dentro de las relaciones de la consulta principal.

El uso de las consultas tipo “eager loading” en Laravel son muy útiles, ya que nos permite cargar las relaciones de nuestra consulta principal en un solo bloque de código.
Por ejemplo:
Realizaremos una consulta a la tabla solicitud y al mismo tiempo que nos devuelva los datos de la tabla usuario, categorias y subcategorias


Solicitud::with('users', 'categorias.subcategorias')->get();

Con esta línea de código obtendremos los datos que necesitamos.

¿Pero que ocurre si solo queremos las solicitudes que pertenezcan a la subcategoria Móvil de la categoría Aplicación?

Solo nos basta con hacer uso del método whereHas().


$search = 'Móvil';
Solicitud::with('users', 'categorias.subcategorias')
->whereHas('categorias.subcategorias', function($query) use($search){
$query->where('nombre', $search);
})->get();

Evitar cache del navegador en proyectos angular.

Al momento de desplegar nuestro proyecto angular en producción, nos encontraremos con que muchas veces el proyecto carga los datos de la memoria cache del navegador.
La solución nos lo brinda angular cli, con su comando –output-hashing.
Este comando define el modo hash en los nombres de archivos de salidas, para evitar que se recargue desde el navegador. Cada vez que se realiza un cambio, crea un nuevo hash.
Ejemplo:
ng build --prod --output-hashing

Call to undefined function utf8_decode() in

Si usas las funciones de PHP utf8_(en|de)code en versiones anteriores a 7.0 de PHP.

Solo debes instalar el paquete de php “php7.0-xml”.
Ejemplo en servidor Ubuntu 16.04:

sudo apt-get install php7.0-xml

luego solo reiniciar apache2:

service apache2 restart

Aquí encontre la respuesta:

stackoverflow

Agregar un virtual host en apache

Un virtual host en apache, es utilizado para redireccionar los subdominios, por asi decirlo a una carpeta especifica que contendrá los archivos de aquel subdominio.

A continuación detallo como agregar un subdominio a un servidor Ubuntu, mediante un virtualhost.

  1. Agregar un record DNS tipo A, en el administrador que tengamos del dominio, por ejemplo: godaddy, hostgator, etc. El cual apuntará a la IP de nuestro servidor.
  2. Creamos una carpeta nueva en nuestro servidor, especificamente www, ejemplo: www/dominio.com.
  3. Dentro de la carpeta dominio.com crear un archivo index.html con cualquier contenido, ya que solo se usara a modo de prueba.

 

Consulta dinamica usando ‘IN’, SLQ – PHP.

A continuación les muestro como realize una especie de consulta dinamica, en PHP.

que necesitaba?

Como en toda aplicación muchas veces requerimos extraer cierta información de la base de datos, que lo más probable, este relacionado a otra tabla.

Pero supongamos el caso en el que los datos provienen de otra fuente y necesitamos extraer los datos, que esten ralcionados a ellos.

En el siguiente código la variable $usuarios,  contiene los datos externos.

$usuarios = array();
$query_prom = "SELECT * FROM $DB_TABLE WHERE COL IN (";
foreach ($usuarios as $u){
    $con ++;
    if($con < $len_usuarios){
        $query_prom.= "$u,";
    }else{
        $query_prom.= "$u";
    }
}

$query_prom.=")";