>> Quindi uno di questi, le migliori caratteristiche
del quadro Laravel Eloquente è l'ORM
e, come ha sottolineato David, un ORM è un mapper oggetto relazionale
che consente di mappare i dati righe di base agli oggetti in php
e vi permette di creare associazioni
tra queste diverse tabelle davvero facilmente, senza dover
di scrivere un sacco di SQL sotto il cofano
e ti dà davvero bello sintassi per la ricerca
per un singolo record.
Così, invece di dire, selezionare, stella, dai corsi
dove altro si sarebbe dire, corsi, trovare [incomprensibile]
o forse trovare una qualsiasi delle corsi che stai cercando
e sarebbe determinare quali SQL dovrebbe essere scritto
ed eseguirlo correttamente per voi e dare tutto a te
in un oggetto che è possibile quindi visualizzare
sullo schermo reale facilmente.
Quindi il modo che il eloquente RM funziona è quello ... la convenzione
che utilizza è che se si dispone di una tabella di base di dati
che è pluralized così per esempio, corsi,
è necessario creare una classe in il corso di chiamata cartella modelli
e questo è tutto quello che piacerebbe hanno a che fare è dire,
Naturalmente classe estende eloquente e
sotto il cofano automaticamente assume
ciò che la tabella nome è, ciò che l'ID è,
così come c'è un auto incrementando ID e c'è un
che viene fornito con Laravel da default si chiama utente
e utilizza alcuni anticipo caratteristiche chiamati interfacce,
che non stiamo andando di andare oltre,
ma si può vedere Classe utente, si estende eloquente,
ed è possibile impostare il nome della tabella
se non stai seguendo la convenzione
del pluralizzato ... avere un nome di tabella plurale
e un nome di classe singolare.
Ma noi andremo avanti a creare uno per dato l'esempio
da prima, andremo avanti e crearne uno per i corsi.
Così faremo corso dot php
e fare naturalmente di classe estende eloquente.
E così ho intenzione di saltare in php mia amministrazione
ed effettivamente ri-name questa tabella per i corsi.
Così ora ho il tavolo di un corso con gli stessi dati esempio
dal primo catalogo che Davide aveva detto e ora
che questo corso è
nel modello directory noi può andare avanti e dire, naturalmente,
limitare 10 quindi abbiamo solo vuole ottenere 10 record,
otteniamo e diremo questo è il golf.
E così ora siamo per andare avanti
e creiamo una vista migliore per visualizzare questa roba in realtà.
Così ho effettivamente creato un Modello di lama anteriore
e io sono solo intenzione di andare avanti e copiarlo qui solo
per risparmiare, risparmiare qualche minuti di tempo.
[Rumore di fondo]
Va bene, così ho creato un,
nella visualizzazione cartella I creato dei corsi di dot lama
e così ho intenzione di fare vista fare i corsi, e sto andando
per passare un corso variabile con il ... in realtà che non sta andando
al lavoro, solo un secondo, titolo corsi.
Okay, quindi non ha funzionato perché dice accesso negato
per il percorso l'utente a host locale.
Così qualcuno può dirmi quello che pensare che potrebbe essere il problema?
Quindi il problema è che non ho mai detto Laravel cosa ... chi sono
nel tentativo di accesso la base di dati,
non lo fa automaticamente So che sono in grado
per accedere alla base dati Sto cercando di interrogare.
Così nella cartella config
che avevo detto in precedenza c'è un php puntino base di dati
archiviamo e qui dobbiamo dire che siamo nome utente, jharvard
e password cremisi e Ora se andiamo avanti e facciamo
che dati sconosciuti Base, base di dati.
Quindi la base di dati che stiamo cercando
a raccogliere si chiama Corsi [incomprensibile]
e questa volta ha funzionato.
Quindi quello che sta facendo qui si è lasciato andare avanti
e saltare al controller.
Così ho fatto corsi, limitare dieci, ottenere,
quindi ho solo detto che voglio solo 10 righe nella base di dati,
recuperare quelli per loro, e mettere li in questa variabile corsi.
Quindi di questo corso variabile è ora un oggetto
che contiene l' colonne diverse
che io possa accedere realmente facilmente nel modello.
Così, per ciascun corso come Naturalmente ... andare avanti e zoom,
e dico solo corso titolo o Descrizione del corso
e va avanti e uscite qualunque sia la riga di base di dati
è lì.
Quindi, come potete vedere il suo tanto semplice ma facilmente alla ragione
con che dover scrivere il codice SQL a mano
e poi capire come, come mappare in un oggetto
ma dove si fa veramente potente è quando, come David ordinamento
di aveva accennato in precedenza, quando si avvia
per avere diverse tabelle che si desidera associare
con altri, tramite l' chiavi esterne,
è possibile avere questi oggetti fare il lavoro pesante
della interrogazione e capire quello che le coppie con che cosa e come
di andare avanti e rendere tale.
Quindi, se guardiamo ... LET'S avanti
e salta di nuovo qui molto veloce, così config base di dati come sia arrivato
in là [incomprensibile] saltare questo per ora.
Così i diversi tipi nei miei ... diversi tipi di
delle relazioni di default alcuni della ... ci sono un paio di più
di questo, ma questi sono i 4 più comuni sono un ha uno,
una ha molti, appartiene anche e essa appartiene a molti.
Così si può sorta di pensare a una ha uno come,
sapete se solo avere uno di qualcosa,
quindi in questo caso un account, questo è solo davvero storditi
regime esempio giù semplificato
ma un conto è unico un fornitore in questo caso.
Quindi c'è un fornitore ID e un fornitore
così nella tabella del conto c'è un ID fornitore
e un fornitore stesso ha un ID e c'è solo liste
di una relazione uno a uno.
Considerando che ... c'è una appartiene troppo
quindi un ordine poteva solo essere effettuata dal cliente,
mentre un cliente potrebbe avere un mazzo
di ordini solo l'ordine appartiene ad un singolo cliente,
non si può avere 3 diversi persone che comprano la stessa cosa
in questo esempio.
E poi ha tanti, come ho detto il cliente ha molti ordini
ma non viceversa circa e poi appartiene
per molti è la più Relazione avanzata
che David stava andando oltre prima, se si ordina
di unire due tabelle tramite una tabella intern,
Quindi in questo caso assemblee, parti è un join
delle assemblee e parti o un esempio
che ci hanno dato in precedenza,
i corsi ... l' istruttori sono stati riuniti
da un istruttore del corso join tavolo e in questo caso,
e nel caso di Laravel,
in realtà non necessita di auto di attuazione ID primario
sul tavolo join se è possibile avere uno,
in realtà non lo fa richiedono uno o per esso
per lavorare il modo in cui funziona.
Quindi cerchiamo di andare avanti e impostare liste
di pochi oggetti diversi in base il lay out della base dati
che abbiamo in questo momento e così stiamo andando tenere corsi
come il nostro oggetto di base ma siamo andare a dire che guardando
nella tabella di base di dati, il corso ha molti riunione
quindi ha tante volte riunioni, appartiene a un dipartimento
ed appartiene ad ambedue molti istruttori e requisiti.
Quindi ci potrebbe essere multiplo requisiti per il corso
ma i requisiti potrebbero essere condiviso da diversi corsi.
Quindi cerchiamo di andare avanti e vedere se possiamo modellare
che un po 'usando i modelli eloquenti
Quindi hai ... Cominciamo con l'istruttore dot [incomprensibile]
così simile alla prima, siamo intenzione di andare avanti e dire,
istruttore di classe, estende eloquente
e quindi questo sarebbe assumere come ho detto prima,
che vi è un plurale di istruttori istruttore
e questa è la tabella che sarà mappatura.
E ora sul corso, andremo avanti
e dire ... creeremo un metodo
così la funzione pubblica istruttori,
il pubblico ... scusate io sono ... sì gli istruttori della funzione pubblica
e il modo in cui Laravel set
le relazioni è si torna a questo appartiene a molti istruttore,
quindi questo ci dice ora che il corso è associato
con il modello istruttore, è tutto quello che abbiamo bisogno di fare
di istituire quel rapporto e ora come siamo
in questo ciclo qui si può dire, in modo perché è un ha ... appartiene
per molti rapporti lì possibile uno o più istruttori.
Così la sua una matrice o è un oggetto che ha più
di un istruttore su di esso così stiamo andando a anche ciclo
qui e dire che per ogni corso istruttori come istruttore
e poi scegliere la prima il nome e il cognome,
Credo che questi sono i colonne in modo primo e l'ultimo,
potrebbe essere il primo nome, cognome.
Così prima e l'ultima è impostato in questo catalogo corsi
e andiamo avanti e vedere se ciò rende
così istruttori ... yeah sembra che essi stanno mostrando
a meno che non c'è non quella associata
quindi in questo caso ci sono istruttori elencati
con quel corso, ma in tutti gli altri casi si vede uno
o più istruttori definita dalla relazione.
Quindi, una cosa che è una sorta di un Gotcha volte con ORM di
come questo è di andare avanti e definire un rapporto
e pensate che va bene che sia il recupero dei miei dati correttamente
come sto cercando qui tutto sta rendendo
sullo schermo tutto bene, tutto va bene,
che sta facendo tutto il SQL dietro le quinte per me
ma quello che sta accadendo qui è
quando prima recupera il Corsi che non conosce
che si sta anche andando ad essere cercando gli istruttori.
Così recupera tutti i corsi per voi e poi va
per visualizzare tutti questi dati in l', in vista proprio qui
e poi diventa a questo per ogni corso istruttori
e si dice che va bene non lo faccio sanno che cosa gli istruttori sono
ma lasciami andare recuperare quelle
e che sta facendo questo ogni singola volta che si sta andando
attraverso il ciclo naturalmente.
Così ogni volta che sei cercando di visualizzare un corso
sullo schermo è una sorta di ritardo a tutto ciò dicendo che ho bisogno
per trovare ciò l' istruttori sono per questa riga
e così sta facendo n più una query
così facendo però molti loop si dispone che sta facendo un altro
interrogare considerando che non è il modo più efficiente per andare
su recupero e visualizzazione dei dati.
Quindi il modo per recuperare tutto davanti a Laravel è
per dire naturalmente, con istruttori limite di dieci get
e ora lo sa sembra diverso solo per l'occhio
ma invece di fare io immagino che sarebbe 12 queries
o così dietro le quinte ora sta solo facendo due o tre.
Così possiamo andare, possiamo continuare in quel modo e impostare
appena un po 'di più relazioni così che cosa erano un po '
dall'altra ha molti riunione.
Così simili abbiamo istituito un modello chiamato riunione,
classe [incomprensibile] estende eloquente
e dovrebbe ... tutto deve essere curato qui
se guardiamo al tavolo riunioni è ottenuto un ID automatico di incremento
è plurale quindi tutto dovrebbe funzionare correttamente se proviamo
per visualizzare le riunioni.
Quindi torniamo a, abbiamo già spiegato
ed era una nuova rapporto ... scusate è stato un
ha [incomprensibile] riunione, così diamo un'occhiata al tavolo della riunione
e vedere che cosa potremmo desidera visualizzare qui.
Così facciamo solo visualizzare ... in realtà Ho un set di modelli
per questo, mi limiterò a prendere un piccolo tavolo
e incolla questo proprio qui.
Quindi ho intenzione di visualizzare solo alcuni dati
sulle diverse corso incontri e [incomprensibile].
Vedi se ho perso qualcosa qui, incontri, ho avuto singolare
così ora abbiamo liste della tabella qui
alla diversa incontri, che tipo sono,
quando comincia, finisce eccetera.
Così posso continuare in proprio la creazione di queste relazioni
ma come si vede una sorta di astrae l'SQL di avere
essere scritta a mano e prende cura di un sacco
del sollevamento di carichi pesanti dietro le quinte per voi
quando si creano questi associazioni basate sui tasti
che sono impostati correttamente nella base dati.
Come si passa attraverso
e l'installazione Laravel C'è un sacco ... c'è così tanto
per coprire in realtà è sorta di difficile provare a vedere
quale parte di mordere e andare finita ma ci sono un sacco più
che noi continueremo a discutere probabilmente il Lunedi.
Molto più caratteristiche alla eloquente ORM
e le diverse modalità di salvataggio dei dati, associando i dati,
l'eliminazione di cose, la creazione di i diversi ambiti
per quando si sta eseguendo la query l'inserimento di [incomprensibile] eccetera
in modo da poter dare un'occhiata attraverso questo e penso ...
>> Il processo sarà
come allora andare avanti è ancora una volta abbiamo formato il nucleo del gruppo,
quattro gruppi di persone una volta che decidiamo
sui progetti vari gruppi sono le responsabilità modo
saranno generalmente divvied è uno o due di voi ordinerà
di tornare al disegno bordo e capire tutto bene
per qualsiasi problema stiamo cercando
per risolvere qui la entità dobbiamo implementare,
per esempio un istruttore o un nucleo o qualche tipo
di unire là di e avrete spec le tabelle di base dati
come abbiamo fatto nel primo semestre del oggi e poi come Tim alluso
a qui il passo successivo tale processo sarà a venire
con le classi e ti scrive alcuni file
che si estendono eloquente in questo modo utilizzando alcuni dei
di funzionalità di rigore ma poi anche aggiungendo magari un po '
di si possiede funzionalità per esempio il numero di telefono get
dove si potrebbe ben formattare il numero di telefono basato su
su qualche tema standard e così via e poi tutti
tali informazioni saranno presumibilmente essere comunicati a vostro uno
o due o tre altri ... altra gente
nel gruppo di dire tutto a destra avete queste classi,
avete questa funzionalità ora iniziare a scrivere effettivamente la logica
implementare i controllori, nel frattempo qualcun altro
nel vostro gruppo gestirà l' viste e così i modelli blade
che Tim alludeva qualcuno si prenderà cura
l'esperienza [incomprensibile] e utilizzare l'interfaccia
e la discesa utente e tutto ciò
e anche se abbiamo appena iniziato
graffiare la superficie qui il fatto
che Tim non ha scritto una sola linea di SQL e del fatto
che lui era una sorta di grado
di aderire automagicamente queste tabelle multiple è
dove si inizia davvero a vedere le cose abbastanza potente.
Così, anche se a prima sta andando
essere assolutamente un apprendimento curva perché si ordina di avere
per imparare come questo quadro particolare funziona.
Alla fine l'aggiunta di qualche nuovo tavolo, l'aggiunta di qualche nuova funzione
a, naturalmente, un nuovo catalogo e simili possono richiedere pochi minuti
di fare e aggiornamento modelli, pochi secondi
quindi è davvero molto emozionante quello che si può iniziare
di fare in fretta.
Quindi grazie così tanto da Tim su che gruccia rupe, si prendono cura
della forma lotteria altrimenti niente da fare
finché non si sente di nuovo da noi in un giorno o via e-mail,
ci vediamo la settimana prossima.