>> Así que uno de ellos, las mejores características
del marco Laravel Elocuente es el ORM
y como señaló David, un ORM es un mapeador objeto-relacional
que permite asignar los datos filas de base a objetos en php
y que permite a crear asociaciones
entre estas diferentes tablas muy fácilmente, sin tener
para escribir una gran cantidad de SQL bajo el capó
y le da un muy agradable sintaxis para la búsqueda
para un registro individual.
Así que en lugar de decir: seleccionar, estrella, desde cursos
donde algo más que quieras decir, cursos, encontrar [inaudible]
o cursos de encontrar cualquiera de los cursos que estás buscando
y sería determinar qué SQL supone que debe ser escrito
y ejecutarlo correctamente para usted y darlo todo de nuevo a usted
en un objeto que a continuación, puede mostrar
en la pantalla real, fácilmente.
Así que la forma en que el elocuente RM funciona es ... la convención
que utiliza es que si tiene una tabla de base de datos
que se pluralized de modo por ejemplo, los cursos,
debe crear una clase en el curso llamada carpeta modelos
y eso es todo lo que había tiene que hacer es decir,
curso clase extiende elocuente y
bajo el capó de forma automática asume
que lo que la tabla nombre es, lo que el ID es,
de manera que hay un auto incrementando ID y hay una
que viene con Laravel por default se llama usuario
y utiliza algún avance características denominadas interfaces,
que no vamos para repasar,
pero se puede ver la clase usuario, se extiende elocuente,
y se puede establecer el nombre de la tabla
si usted no está siguiendo la convención
del pluralizado ... tener un nombre de tabla plural
y un nombre de clase singular.
Pero vamos a seguir adelante a crear uno para el ejemplo dado
de antes, vamos a seguir adelante y crear uno de los cursos.
Así que vamos a hacer por supuesto punto php
y hacerlo de golf de clase extiende elocuente.
Así que voy a saltar en el php mi administrador
y en realidad re-nombre esta tabla para los cursos.
Así que ahora tengo la mesa de un curso con el mismo ejemplo de datos
desde el primer catálogo que David había mencionado y ahora
que este curso es
en el directorio que el modelo puede seguir adelante y decir que, por supuesto,
limitar 10 por lo que sólo que desee obtener 10 registros,
conseguimos y lo diremos este es cursos.
Y por lo que ahora estamos va a seguir adelante
y vamos a crear una mejor visión para mostrar estas cosas en realidad.
Así que en realidad creó una plantilla de la hoja anterior
y yo sólo voy a seguir adelante y copiarlo aquí sólo
para ahorrar, ahorrar unos cuantos minutos de tiempo.
[Ruido de fondo]
Muy bien, así que he creado un
en la vista de carpetas que creado un golf salpican la cuchilla
y por lo que voy a hacer la vista hacer cursos, y voy
para pasar unos cursos variables con el ... en realidad eso no va
para trabajar, sólo un segundo, Título de los cursos.
Bueno, por lo que no funcionó porque dice acceso denegado
para la ruta del usuario en el host local.
Entonces, ¿puede alguien decirme lo que pensar que podría ser el problema aquí?
Así que el problema es que nunca dicho Laravel qué ... quién soy
en el intento de acceso la base de datos,
no lo hace de forma automática sé que soy capaz
para acceder a la base de datos Estoy tratando de consultar.
Así que en la carpeta config
que he mencionado antes hay un php punto base de datos
clasificar y aquí tenemos que decir eso estamos nombre del usuario, jharvard
y carmesí contraseña y ahora si queremos seguir adelante y hacer
que los datos desconocida base, base de datos.
Por lo tanto la base de datos que estamos tratando
para recoger se llama cursos [inaudible]
y esta vez funcionó.
Así que lo que está haciendo aquí es que se me dejó ir por delante
y saltar de nuevo al controlador.
Así que lo hice cursos, limitar diez, consiga,
por lo que acabo de decir yo sólo quiero 10 filas en la base de datos,
recoger los de ellos, y poner ellos en esta variable cursos.
Así que de este curso variable es ahora un objeto
que contiene el diferentes columnas
que puedo acceder realmente fácilmente en la plantilla.
Así que para cada curso como Por supuesto ... seguir adelante y acercar la imagen,
y yo sólo digo curso título o curso Descripción
y sigue adelante y salidas cualquiera que sea la fila de base de datos
está ahí.
Así como usted puede ver su gran simple pero fácilmente a la razón
con de tener que escribir el SQL a mano
y luego encontrar la manera de, cómo asignar en un objeto
pero donde se pone realmente poderoso es cuando, como David especie
de había mencionado anterior, cuando se inicia
tener diferentes tablas que desea asociar
con otros, a través de la claves externas,
usted puede tener estos objetos hacer el trabajo pesado
de la consulta y averiguar lo pares con qué y cómo
para seguir adelante y hacer eso.
Así que si nos fijamos en ... vamos a seguir adelante
y saltar de nuevo aquí realmente rápido, así config base de datos de cómo llegó
allí [inaudible] omitir esto por ahora.
Así que los diferentes tipos en mis ... diferentes tipos
de las relaciones de forma predeterminada algunos del ... hay unos cuantos más
que esto, pero estos son los 4 más comunes son una tiene uno,
una ha muchos, pertenece también, y pertenece a muchos.
Así que usted puede ordenar de pensar en una cuenta con uno como,
Cómo saber si usted sólo tener uno de algo,
por lo que en este caso una cuenta, esto es simplemente muy dumbed
esquema ejemplo de abajo simplificado
pero una cuenta sólo tiene un proveedor en este caso.
Así que hay un proveedor ID y un proveedor
por lo que en la mesa de la cuenta hay un ID de proveedores
y un proveedor en sí tiene una identificación y que sólo hay una especie
de una relación uno a uno.
Mientras que un ... hay A pertenece también
por lo que una orden sólo podía ser colocado por un cliente,
mientras que un cliente podría tener un montón
de las órdenes de sólo el orden pertenece a un solo cliente,
no se puede tener 3 diferentes personas que compran lo mismo
en este ejemplo.
Y entonces A tiene muchos, como dije el cliente tiene muchos pedidos
pero no a la inversa alrededor y luego pertenece
para muchos es el más relación avanzada
que David iba sobre anterior en la que se ordena
de unir dos tablas a través de una tabla interna,
por lo que en este caso las asambleas, partes se unen a
de las asambleas y partes o un ejemplo
que nos dieron antes,
los cursos de la ... se unieron instructores
por un instructor del curso unirse mesa y en este caso,
y en el caso de Laravel,
que en realidad no requiere una auto implementar primaria ID
en la tabla de unión aunque se puede tener uno,
que en realidad no requerir una o porque
para trabajar de la manera que lo hace.
Así que vamos a seguir adelante y establecer una especie
de unos pocos objetos diferentes basados en la distribución de la base de datos
que tenemos en este momento y así que vamos a mantener los cursos
como nuestro objeto base, pero estamos va a decir que en la búsqueda
en la tabla de base de datos, el curso tiene muchos reunión
por lo que tiene muchas horas de reunión, pertenece a un departamento
y pertenece a ambos muchos instructores y requisitos.
Así que puede haber múltiples requisitos para el curso
pero los requisitos pueden ser compartida por los diferentes cursos.
Así que vamos a seguir adelante y ver si podemos modelar
que un poco el uso de los modelos elocuentes
Así que tienes ... Vamos a empezar con el punto instructor [inaudible]
tan similar al anterior, estamos va a seguir adelante y decir:
instructor de la clase, extiende elocuente
por lo que este sería asumir como he dicho antes,
que no es un plural de instrucción instructor
y esta es la tabla que será correlacionando con.
Y ahora en el curso, vamos a seguir adelante
y decir ... vamos a crear un método
por lo que la función pública instructores,
el público ... lo siento yo ... sí los instructores de la función pública
y la forma en que Laravel conjuntos
las relaciones es que usted regrese a esto pertenece a muchos instructor,
por lo que esto nos dice ahora que el curso está asociado
con el modelo de instructor, eso es todo lo que teníamos que hacer
para establecer esa relación y ahora como estamos
en este bucle aquí podemos decir, por lo porque es una cuenta que pertenece ...
a muchas relaciones allí puede uno o más instructores.
Así que es una matriz o se acabó un objeto que tiene más
de un instructor en él así que vamos a también bucle
por aquí y decir para cada instructores del curso como instructor
y luego seleccionar la primera nombre y el apellido,
Creo que esos son los columnas para la primera y la última,
podría ser primero nombre, apellido.
Así que, primero y último que está establecido en este catálogo de cursos
y vamos a seguir adelante y ver si se rinde
por lo que los instructores ... sí que parece que están mostrando
a menos que haya no uno asociado
por lo que en este caso hay son instructores no enumerados
con ese curso, pero en todo los demás casos que se ven uno
o más instructores como se define en la relación.
Así que una cosa que es una especie de Gotcha veces con ORM
como esto es de seguir adelante y definir una relación
y piensas bien es ir a buscar mis datos correctamente
como que estoy buscando aquí todo está prestando
en la pantalla de todos los derechos, todo está bien,
que está haciendo todo el SQL detrás de las escenas para mí
pero lo que está sucediendo aquí es
cuando se obtiene la primera cursos que no conoce
que también va a ser en busca de los instructores.
Por lo tanto, obtiene todos los cursos para usted y luego se va
para visualizar toda esta información en la, en la vista de aquí
y luego se pone a este para cada uno de los instructores del curso
y dice que está bien no lo hago saben lo que los instructores son
pero déjame ir a buscar los
y que está haciendo esto todos los única vez que usted va
a través del bucle de golf.
Así que cada vez que usted es tratando de mostrar un curso
en la pantalla es una especie de tardío a todo lo que dice que necesito
para encontrar lo que el instructores son para esta fila
y por lo que está haciendo n más uno consulta
por lo que está haciendo sin embargo muchos bucles usted tiene que está haciendo otra
consultar mientras que eso no es la forma más eficiente para ir
acerca de ir a buscar y visualizar sus datos.
Así que la manera para ir a buscar todo lo en la delantera en Laravel es
decir por supuesto con instructores limitan diez consigue
y ahora se sabe que se ve no es diferente sólo para el ojo
pero en lugar de hacer lo supongo que sería de 12 consultas
más o menos detrás de las escenas ahora sólo hace dos o tres.
Así que podemos ir, podemos continuar de esa manera y establecer
justo un poco más relaciones para lo que fueron algunas
de la otra tiene muchos reunión.
Tan similares hemos creado un modelo llamado reunión,
clase [inaudible] extiende elocuente
y lo que debería ... todo deben ser atendidos aquí
si nos fijamos en la tabla de reuniones que tiene un ID de incremento automático
es plural, así que todo debería funcionar correctamente si tratamos
para visualizar las reuniones.
Así que vamos a volver, nos ya se ha explicado esta
y fue una nueva relación ... lo siento que era una
tiene [inaudible] sesión, por lo que echemos un vistazo a la mesa de reuniones
y ver lo que podría desee mostrar aquí.
Así que vamos a mostrar ... en realidad Tengo un conjunto de plantillas
para esto, yo solo tomar un poco de mesa
y pegar esto en aquí.
Así que voy a mostrar sólo algunos datos
sobre el diferente curso reuniones y [inaudible].
A ver si me perdí algo aquí, reuniones, lo tenía singular
así que ahora tenemos una especie de la tabla aquí
en cuanto a la diferente reuniones, lo que el tipo son,
cuando empieza, termina etcétera.
Así que puedo continuar en tan sólo el establecimiento de estas relaciones
pero como usted ve que tipo de abstrae el SQL de tener
para ser escrito a mano y se ocupa de una gran cantidad
parte del trabajo pesado detrás de las escenas para que
al crear estos asociaciones sobre la base de las teclas
que están configurados correctamente en la base de datos.
Como usted está pasando por
y la instalación de Laravel Hay un montón ... hay tanto
para cubrir en realidad es una especie de difícil tratar de ver
qué parte de morder y vaya más, pero hay muchos más
que vamos a seguir discutir probablemente el lunes.
Muchas más características al elocuente ORM
y las diferentes formas de guardar los datos, asociando los datos,
la supresión de las cosas, la creación los diferentes ámbitos
para cuando usted está consultando la inserción de [inaudible] etcétera
así que usted puede echar un vistazo por esto y creo que ...
>> El proceso será
como entonces avanzar una vez que se hemos formado nuestro grupo básico,
cuatro grupos de personas una vez que decidamos
sobre los proyectos de diversos grupos son la forma en que las responsabilidades
generalmente será repartido es uno o dos de ustedes se ordenará
de volver al dibujo bordo y averiguar bien
por cualquier problema que estamos tratando
resolver aquí son la entidades que tenemos que poner en práctica,
por ejemplo, un instructor o un núcleo o algún tipo
de unirse allí de y usted spec las tablas de base de datos
como lo hicimos en la primera mitad del hoy y luego como Tim aludió
aquí el siguiente paso en la ese proceso será venir
con las clases y que voy a escribir un par de archivos
que se extienden elocuente de esta manera el uso de algunos de los
de funcionalidad caja pero a continuación, además de darle tal vez algunos
de usted es dueño de la funcionalidad para instancia número telefónico
donde usted puede ser muy bien formatear el número de teléfono basado
en algún tema estándar y así sucesivamente y entonces todo
que la información llegará presumiblemente se comunicará a su ser
o dos o tres ... otra otras personas
en su grupo diciendo todo los derechos que tiene estas clases,
usted tiene esta funcionalidad ahora realmente empezar a escribir la lógica
implementar los controladores, Mientras tanto alguien más
en su grupo va a controlar el puntos de vista y por lo que las plantillas de hoja
que Tim estaba aludiendo a alguien va a cuidar
de [inaudible] experiencia y el uso de la interfaz de
y el menú desplegable usuario y todo lo que
ya pesar de que apenas hemos comenzado
a arañar la superficie aquí el hecho
que Tim no escribió una sola línea de SQL y el hecho de
que él era una especie de poder
para unirse automágicamente estos múltiples tablas es
donde realmente comienza a ver las cosas con bastante fuerza.
Así que, aunque en primero que va
ser absolutamente un aprendizaje curva, ya que tiene una especie de
para aprender cómo este en particular marco funciona.
Al final añadir alguna nueva mesa, añadiendo un poco de novedad
que, por supuesto, un nuevo catálogo y similares pueden tomar sólo unos minutos
hacer y actualización plantillas, segundo sólo
por lo que es realmente muy emocionante lo que puede comenzar
hacer rápidamente.
Así que muchas gracias a Tim en que suspensión del acantilado, no cuide
de la forma de la lotería de lo contrario nada que ver
hasta que recibe una respuesta de nosotros en uno o dos días a través de correo electrónico,
nos vemos la semana que viene.