Mostrando las entradas con la etiqueta Laravel. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Laravel. Mostrar todas las entradas

martes, 17 de mayo de 2016

SubQuery en laravel 5.x

SubQuery en laravel 5.x  

formas de Subqueries en laravel 5.x usando Eloquent y Fluent 

 Primera Forma

$data = \DB::table('lista')
        ->select([
            'lista.id',
            'lista.codigo',
            'lista.descripcion',
            \DB::raw('(SELECT COUNT(lc.lista_id) FROM lista_contacto lc
            WHERE lc.lista_id= lista.id and lc.estado = 1 ) AS cantidad')
            ])
        ->where('lista.estado', 1)
        ->get();

$data = \DB::table('lista')
        ->select([
            'lista.*',
            \DB::raw('(SELECT COUNT(lc.lista_id) FROM lista_contacto lc
            WHERE lc.lista_id= lista.id and lc.estado = 1 ) AS cantidad')
            ])
        ->where('lista.estado', 1)
        ->get();


Segunda Forma

$data = Lista::select([
            'lista.id',
            'lista.codigo',
            'lista.descripcion',
            \DB::raw('(SELECT COUNT(lc.lista_id) FROM lista_contacto lc
            WHERE lc.lista_id= lista.id and lc.estado = 1 ) AS cantidad')
            ])
        ->where('lista.estado', 1)
        ->get();

Otra Forma

$data = \DB::table('lista')
        ->select(
            \DB::raw('lista.*,(SELECT COUNT(lc.lista_id) FROM lista_contacto lc
            WHERE lc.lista_id= lista.id and lc.estado = 1 ) AS cantidad')
            )
        ->where('lista.estado', 1)
        ->get();

viernes, 15 de abril de 2016

Migraciones en Laravel 5.x

Migraciones en Laravel 5.x 
  • - Programación orientada a objetos (POO).
  • - Programación en PHP.
  • - Bases de datos.
Utilizando las funciones que nos proporciona el Schema Builder para poder crear, actualizar y eliminar nuestras tablas así como los distintos tipos de datos.
Ahora vamos a profundizar en los índices y motores de almacenamiento de BD utilizando el Schema Builder.
Framework Laravel
En las BD hacemos uso de diversos tipos de llaves para poder manejar de una manera optima las queries.

Tipos de llaves

Llaves primarias

Estas llaves son las principales para reconocer como único cada registro de nuestras tablas. Pueden ser simples (un solo campo) o compuestas (varios campos), pero cada llave primaria es única; en otras palabras, no se puede repetir el valor del campo o los campos, si esta fuese compuesta, en dos o más registros.

Llaves foráneas

Estas llaves hacen referencia a la conexión entre dos tablas.

Llaves únicas

Estas definen que un campo sea único y no se repita en dos registros de la misma tabla, sin embargo esta llave no se indexa dentro del motor de búsqueda, por lo que es manejado como un campo más.

Índices

Esta llave le indica al motor de búsqueda que se indexe dicho campo para, de esta forma, realizar búsquedas más optimas.

Texto completo (Full text) 

Este tipo de llave se utiliza en motores MyIsam y nos permite hacer búsquedas más rápidas en comparación de cadenas.

Creación de llaves primarias

Normalmente, para poder identificar un registro en cualquier BD, ya sea física o lógica, hacemos uso de un ID, el cual, en la mayoría de veces, es una serie de números correlativos.
Cuando queramos crear una llave primaria de este tipo, podemos hacer uso de la función increments de la siguiente manera:
Screenshot_2
Esta función nos va a crear un campo del tipo entero (int) sin signo (unsigned) autoincremental (auto_increment).

Modificadores de Columnas

Puede darse casos en los que el ID de los registros no van a ser necesariamente números enteros correlativos. Para estos casos podemos hacer uso de dos funciones: unique() y primary().
Screenshot_6
Con la primera función, unique(), estamos diciendo que el campo es una llave única mientras la segunda función define esta campo como llave primaria.
También podemos simplificar esta notación de la siguiente manera:
Screenshot_7-1
o desdoblarla totalmente:
Screenshot_8
También podemos definir una llave única compuesta de dos campos:
Screenshot_9
De la misma manera, podemos crear claves primarias compuestas:
Screenshot_12

Para definir un índice en nuestra tabla, hacemos uso de la función index()
Screenshot_13

Y si queremos definir una clave compuesta sería de la siguiente forma:
Screenshot_14

Cuando hacemos uso de las claves foráneas, utilizamos la siguiente función:
Screenshot_15

Cuando queramos eliminar alguna de estas llaves usaremos las siguientes funciones:
Screenshot_17
Screenshot_18
Screenshot_19

Screenshot_20

Motores de almacenamiento

MySql es uno de los gestores de base de datos más usado y posee varios motores de almacenamiento como lo son InnoDB, MyIsam, IBMDM2I, MERGE, MEMORY, etc.
Cuando creamos una tabla en laravel, esta se crea por defecto con el motor InnoDB, cuando uno quiera definir el motor que se va a utilizar una determinada tabla, se utiliza la siguiente función:
Screenshot_21

Conclusiones

Como hemos podido ver, hay diferentes llaves y diferentes formas de definirlas utilizando el Schema Builder.
En la siguiente parte se continuará con el proyecto que estábamos desarrollando a un principio.

miércoles, 14 de octubre de 2015

Cambiar tags de Blade Engine (Laravel)

Cambiar tags de Blade Engine (Laravel)

Buenas, la razón por la cual podrían necesitar esto es que usan AngularJS o alguna otra librería que use los 
{{}} para sus templates... 
Para empezar localizamos el archivo donde esta definido esto que es en: 

my_demo_APP/vendor/laravel/framework/src/Illuminate/View/Compilers/BladeCompiler.php 

ya localizado lo abrimos y buscamos la linea que contiene lo siguiente: 

protected $contentTags = array('{{', '}}'); 

ya solo falta remplazar por los tags que uds deseen personalmente los puse así: 

protected $contentTags = array('{=', '=}'); 

We espero le sirva a alguien 

miércoles, 24 de diciembre de 2014

Instalación de Laravel en Linux y en Windows


Instalación de Laravel


Laravel es un potente framework PHP basado en el patrón MVC(Modelo Vista Controlador) para el desarrollo de aplicaciones web.

Laravel está intimamente unido a múltiples dependencias del framework symfony, lo que implica que la simple descarga del framework Laravel no sea suficiente para ponerlo en marcha, de hecho, es imprescindible para su instalación el uso de las herramientas composer y git.

git es una herramienta que nos va a permitir trabajar con dependencias externas, en este caso composer está ligado a git para la instalación de algunas dependencias por lo que tendremos que tener instalado.

La instalación de git en linux no es necesaria ya que viene integrado de por sí, aunque de no venir integrada, será suficiente con abrir una consola y escribir el siguiente comando ...

sudo apt-get install git 

En Windows tendremos que instalarlo a través del ejecutable que nos proporcionan desde la web oficial de git, podéis descargarlo haciendo click en el siguiente enlace ... Descargar git para windows

Bien, ahora que tenemos git instalado en nuestra máquina, es momento de instalar composer, con composer podremos instalar todas las dependencias necesarias para tener un proyecto Laravelcompleto y funcionando.

En linux podemos instalar composer con curl con el siguiente comando ...

curl -sS https://getcomposer.org/installer | php 

De no tener instalado curl también lo podemos hacer a través de php con el siguiente comando ...

php -r "eval('?>'.file_get_contents('https://getcomposer.org/installer'));" 

Ahora para ver las distintas opciones que te ofrece composer puedes ejecutar el siguiente comando, para ello tendrás que encontrarte en la misma ruta donde se encuentra el archivocomposer.phar ...

php composer.phar 

Lo suyo es poder ejecutar composer globalmente, para ello tendrás que renombrar el archivo 'composer.phar' a 'composer', es decir, sin extensión y moverlo a la ruta /usr/local/bin, ahora si puedes ejecutarlo simplemente incluyendo el siguiente comando ...

composer 

Para instalarlo en Windows vamos a necesitar el ejecutable que nos proporcionan en la web oficial de composer haciendo click en el siguiente enlace ... Descargar composer para Windows

Se puede dar el caso de que obtengas un error al instalarlo, de ser así, puedes ver el siguiente post para solucionar el problema ... Solucionar problema al instalar composer en Windows.

Ahora, es momento de instalar nuestra primera aplicación Laravel, para ello abriremos una consola y nos dirigiremos a la carpeta donde alojamos nuestros proyectos web, por ejemplo, en el caso de XAMPP, a la carpeta c:\xampp\htdocs, es decir, incluiríamos el siguiente comando en el caso de Windows ...

cd c:\xampp\htdocs 

Ahora crearemos un proyecto Laravel al cual llamaremos 'prueba-laravel' con el siguiente comando ...

composer create-project laravel/laravel prueba-laravel 

En Linux, en el caso de que composer no esté configurado para ejecutarlo globalmente, necesitaremos tener el archivo composer.phar en la raiz del directorio donde vamos a instalar la aplicación Laravel y ejecutar el siguiente comando ...

php composer.phar create-project laravel/laravel prueba-laravel

Ahora esperamos a que composer instale todas las dependencias y cuando haya terminado nos dirigiremos para ver la vista de ejemplo que nos ofrece, en la siguiente dirección ...http://localhost/prueba-laravel/public/ ...