>> Polo tanto un destes, os mellores recursos
do cadro Laravel é o elocuente ORM
e como David apuntou, un ORM é un mapeador obxecto-relacional
que permite mapear datos liñas de base para obxectos en PHP
e permite que crear asociacións
entre estes diferentes táboas moi facilmente, sen ter
para escribir unha morea de SQL baixo o capo
e dálle realmente un excelente sintaxe descriptor
para un rexistro individual.
Entón, en vez de dicir: seleccionar, estrela, de cursos
onde outra cousa que dicir, cursos, atopar [inaudível]
ou cursos de atopar calquera dos cursos que está a buscar
e tería que determinar SQL debería ser escrito
e executa-lo correctamente para ti e dar todo de volta para ti
nun obxecto que entón pode amosar
na pantalla certo facilmente.
Así, a forma que o elocuente RM funciona é ... o convenio
que se utiliza é de que se ten unha táboa de base de datos
que é tan plural por exemplo, cursos,
podería crear unha clase en o curso chamada cartafol modelos
e iso é todo o que ten que facer é dicir,
curso clase estende elocuente e
baixo a capa automaticamente asume
que o que a mesa nome, o que o ID é,
así como non hai unha auto incrementando ID e hai unha
que ven con Laravel por estándar, é chamado de usuario
e el utiliza algún avance recursos chamados interfaces,
que non imos para pasar por encima,
pero podes ver clase usuario, esténdese a elocuente,
e pode facer que o nome da táboa
se non está seguindo o convenio
do pluralizado ... tendo un nome de táboa plural
e un nome de clase singular.
Pero imos adiante crear para un exemplo
de antes, imos adiante e crear un para cursos.
Entón, imos facer curso dot php
e facer curso de clase esténdese a elocuente.
E así eu vou saltar no meu php administrador
e en realidade re-nome esta táboa de cursos.
Entón agora eu teño a mesa dun curso co mesmo exemplo de datos
desde o primeiro catálogo que David tiña mencionado e agora
que este curso é
no directorio de nós do modelo pode ir adiante e dicir, por suposto,
límite de 10 por iso só quere obter 10 rexistros,
chegar e imos dicir este é cursos.
E agora estamos indo para adiante
e imos crear unha mellor visualización para amosar isto en realidade.
Entón, realmente creado un modelo de lámina máis cedo
e eu estou indo só para ir adiante e copialo aquí só
para gardar, gardar algúns minutos de tempo.
[O ruído de fondo]
Ok, entón eu creei un,
no cartafol de vista que eu creou un curso dot lámina
e entón eu vou facer vista facer cursos, e eu vou
para pasar dun curso variable con o ... en realidade iso non vai
para o traballo, só un segundo, Título cursos.
Ok, iso non funcionou porque di ingreso
para ruta usuario no servidor local.
Entón, alguén me pode dicir o que eles pensa que pode ser o problema aquí?
Entón, o problema é que eu non dixo Laravel o que ... quen son
no intento de acceso a base de datos,
iso non acontece automaticamente sabede que eu son capaz
para acceder á base de datos Estou intentando consultar.
Así, no cartafol config
que eu había mencionado anteriormente existe unha base de datos PHP dot
arquivo e aquí hai que dicir que estamos nome de usuario, jharvard
e tinto e contrasinal agora se vai adiante e facer
que os datos descoñecido base, base de datos.
Así, a base de datos que estamos intentando
para escoller se chama cursos [inaudível]
e esta vez deu correcto.
Entón o que está facendo aquí é que é, déixeme ir adiante
e volver para o controlador.
Entón eu fixen cursos, limitar dez, comeza,
entón eu dixo que eu só quero 10 liñas na base de datos,
buscar aqueles por eles, e poñer los en esta variable cursos.
Entón este curso variable é agora un obxecto
que contén o columnas diferentes
que eu poida acceder realmente facilmente no modelo.
Así que para cada curso como claro ... vai adiante e ampliar,
e eu acabo de dicir é claro título ou descrición curso
e vai adiante e saídas calquera que sexa a liña de base de datos
está aí.
Entón, como podes ver o seu moi máis simple, pero facilmente a razón
con que ter que escribir SQL á man
e, a continuación, descubrir como, como mapear-lo nun obxecto
pero onde está realmente poderoso é cando, como David especie
de mencionara antes, cando comezar a
ter distintas táboas que quere asociar
coa outra, a través do claves estranxeiras,
pode que eses obxectos facer o traballo pesado
da consulta e descubrir que pares co que e como
para ir adiante e facer iso.
Entón, se miramos para ... Imos seguir
e volver aquí moi rápido, de modo de configuración da base de datos como chegou
alí [inaudível] saltar isto por agora.
Así, os distintos tipos nos meus ... diferentes tipos
das relacións, por defecto, algúns da ... hai algo máis
do que esta, pero estes son os 4 máis comúns son un ten un,
un ten moitos, pertence tamén, e pertence a moitos.
Así, pode tipo de pensar nunha ten un como,
vostede sabe se só teño unha de algo,
polo tanto, neste caso unha conta, iso é só realmente estúpidos
esquema de exemplo abaixo simplificada
pero unha conta ten só un provedor neste caso.
Polo tanto, hai un provedor ID e un provedor
así na táboa de conta hai unha ID provedor
e un provedor ten unha identificación e só hai especie
dun a unha relación.
Tendo en conta que ... non hai un pertence tamén
así unha orde só podería ser colocada por un cliente,
mentres que un cliente pode ter unha chea
de ordes só a orde pertence a un único cliente,
non pode ter 3 diferentes persoas que compran o mesmo
neste exemplo.
E entón un ten moitos, como dixen o cliente ten moitas ordes
pero non o contrario e logo, en torno pertence
para moitos é o máis relación avanzado
que David estaba pasando por riba anterior, onde clasificar
de xuntar dúas táboas por medio dunha táboa interna,
Polo tanto, neste caso asembleas, pezas é unha unión
das asembleas e pezas ou unha lista
que se nos deu anteriormente,
os cursos ... a instrutores uníronse
por un instrutor do curso unirse táboa e, neste caso,
e no caso de Laravel,
en realidade non necesita primario auto implementación ID
na táboa de unión pero pode ter un,
en realidade non fai esixir un ou por el
para traballar do xeito que fai.
Entón, imos adiante e configurar tipo
dalgúns obxectos diferentes baseados no lay out da base de datos
que temos agora e entón imos manter cursos
como o noso obxecto de base, pero estamos vai dicir que en ollar
na táboa de base de datos, o curso ten moitos reunión
polo que ten moitas veces de reunións, pertence a un departamento
e que pertence a ambos moitos instrutores e demandas.
Polo tanto, pode haber múltiples requisitos para o curso
pero os requisitos podería ser compartido por distintos cursos.
Entón, imos adiante e ver se podemos modelar
que un pouco a usar os modelos elocuentes
Entón tes ... imos comezar con o instrutor dot [inaudível]
de xeito similar ao anterior, estamos indo a ir adiante e dicir:
instrutor de clase, esténdese a elocuente
e por iso esta sería asumir como dixen anteriormente,
que existe unha plural instrutor de instrutores
e esta é a táboa que será mapeando a.
E agora sobre o curso, imos adiante
e dicir ... imos crear un método
entón a función pública profesores,
o público ... desculpe, eu son ... si os profesores de función pública
e do xeito que Laravel conxuntos
as relacións se volver un esta pertence a moitos instrutor,
de xeito que este dinos agora que o curso está asociado
co modelo de instrutor, iso é todo o que necesitabamos facer
configurar esta relación e agora como estamos
neste loop aquí, podemos dicir, de xeito porque é un ten ... pertence
para moitos relacións por aí pode un ou máis profesores.
Entón é unha matriz ou é un obxecto que ten máis
dun instrutor sobre el entón imos tamén lazo
aquí e dicir para cada instrutores do curso como instrutor
e, a continuación, escoller o primeiro nome e apelidos,
Eu creo que eses son os columnas para o primeiro eo último,
pode primeiro nome, apelidos.
Entón, primeiro e último é definido neste catálogo de cursos
e imos adiante e ver se isto fai
así instrutores ... si, Parece que están mostrando
-Se a menos que haxa non un asociado
polo tanto, neste caso, non hai instrutores lista
con ese curso, pero en todo os outros casos que ve un
ou máis instrutores como definido en relación a.
Entón, unha cousa que é unha especie de unha pegadinha, por veces, con ORM do
como esta é que vai adiante e establecer unha relación
e pensas que está ben é buscar os meus datos correctamente
como eu estou mirando aquí todo está prestando
na pantalla todo ben, está todo ben,
que está facendo todo o SQL nos bastidores para me
pero o que está a suceder aquí é
cando busca o primeiro cursos que non coñecen
que tamén vai estar mirando para os profesores.
Así, el procura todas as para ti e, a continuación, que vai
para amosar todos estes datos en o, en opinión aquí
e logo, torna-se a este Para cada curso os profesores
e el di que todo ben eu non saber o que os profesores son
aínda me deixar ir buscar os
e está facendo iso todo única vez que vai
a través do lazo claro.
Entón, cada vez que é intento de mostrar un curso
na pantalla é unha especie de final a todo dicindo que eu teño
para atopar o que o instrutores son para esta liña
e por iso está facendo n unha consulta
por iso que está facendo con todo moitas voltas tes que está facendo outra
consulta ao paso que iso non é a forma máis eficiente para ir
sobre buscar e amosar os seus datos.
Entón, o camiño para buscar todo diante en Laravel é
dicir curso con instrutores limitar dez get
e agora sábese que parece non é diferente só para o ollo
pero en vez de facer eu creo que sería 12 consultas
ou así nos bastidores agora el só está facendo dous ou tres.
Así, podemos ir, podemos seguir en que a moda e establecer
só un pouco máis relacións de forma que foron algúns
do outro ten moitos reunión.
Así, semellante montar un modelo chamado de reunión,
clase [inaudível] esténdese a elocuente
e que debería ... todo coidado debe ser tomado aquí
se miramos para a mesa de reunións ten un ID propio incremento
é plural, entón todo debería funcionar correctamente se intentamos
para amosar as reunións.
Entón, imos volver, nós xa explicou iso
e foi un novo relación ... Sentímolo, foi un
ten [inaudível] reunión, para imos dar un ollo na mesa de reunión
e ver o que pode quero mostrar aquí.
Entón imos amosar ... en realidade Eu teño un conxunto de modelos
para iso, vou só tome unha pequena mesa
e pega isto en ben aquí.
Entón eu vou para amosar só algúns datos
sobre o curso diferente reunións e [inaudível].
Vexa se eu perdín algo aquí, reunións, eu tiña singular
entón agora temos un tipo da táboa aquí
como para o diferente reunións, o que o tipo son,
cando comeza, remata etcétera.
Para que eu poida continuar en só creación destas relacións
pero como podes ver que tipo de abstrai SQL de
sendo escrita a man e el coida de unha chea
parte do traballo pesado nos bastidores para ti
cando se crea estes asociacións con base nas claves
que están configurados correctamente na base de datos.
Como está pasando
e instalación Laravel Hai moito ... hai moito
para cobre-lo é realmente tipo de difícil tentar ver
que parte para morder e ir acabou, pero hai moito máis
que nós imos seguir discutir, probablemente o luns.
Moito máis recursos ao ORM elocuente
e as distintas formas de gardar os datos, asociando datos,
eliminar as cousas, a creación de os distintos alcance
para cando está consultando inserción de [inaudível] etcétera
entón podes dar un ollo por iso e eu creo que ...
>> O proceso será
como, logo seguir adiante é unha temos formado o noso grupo principal,
catro grupos de persoas xa que decidamos
sobre os proxectos de varios grupos son o xeito responsabilidades
será xeralmente dividiron é un ou dous de vostedes van clasificar
de volver ao deseño bordo e descubrir todo certo
por ningún problema estamos intentando
para resolver aquí son o entidades que debemos aplicar,
por exemplo, un instrutor ou un núcleo ou algún tipo
de xuntar alí de e vai spec as táboas de base de datos
como fixemos no primeiro semestre de hoxe e, a continuación, como Tim aludido
ata aquí o seguinte paso na este proceso será vir
coas clases e vai escribir algúns arquivos
que se estenden elocuente Deste xeito, utilizando algúns dos
fóra da caixa, pero a función logo tamén engadindo pode que algúns
de ti posúe funcionalidade para instancia número de teléfono get
onde pode moi ben formatar o número de teléfono base
sobre algún tema por defecto e así por diante e, a continuación, todos
esta información será presumiblemente ser comunicadas ao seu único
ou dous ou tres outros ... outros
no seu grupo dicindo todo dereito de ter esas clases,
ten esa característica agora comezar a realmente escribir a lóxica
aplicar os controladores, Mentres tanto a alguén
no seu grupo vai xestionar a puntos de vista e así os modelos de lámina
que Tim estaba aludindo alguén vai coidar
da experiencia [inaudível] e usar a súa interface
e no menú desplegable usuario e todo o que
e aínda que nós só comezamos
a rabuñar a superficie aquí o feito
que Tim non escribiu unha soa liña de SQL eo feito
que era unha especie de poder
de unirse automaxicamente esas varias táboas é
onde realmente comezar a ver as cousas moi poderosa.
Así, aínda que a primeiro que vai
ser absolutamente unha aprendizaxe curva porque medio que ten
para saber como este cadro especial funciona.
Ao final, engadindo un pouco de novo mesa, engadindo algunha característica nova
para, por suposto, un novo catálogo e similares poden levar só uns minutos
facer e actualización modelos, só uns segundos
polo que é realmente moi emocionante que pode comezar
facer rapidamente.
Entón, moitas grazas a Tim en que Colgador penedo, teña coidado
do formulario de lotería se non, nada que ver
ata escoitar de volta de nós nun ou dous días por correo electrónico,
imos velo na próxima semana.