>> Така един от тях, най-добрите черти
на рамката Laravel е красноречив ORM
и като David изтъкна, на ORM е обект на релационни Mapper
която ви позволява да картата данни базови редове към обекти в PHP
и ви позволява да създаване на асоциации
между тези различни таблици наистина лесно без да се налага
да пиша много SQL под капака
и ви дава една наистина хубаво синтаксис за търсене
за отделен запис.
Така че, вместо да каже, изберете, звезда, от курсове
където нещо друго, което бих казват, курсове, намери [недоловим]
или курсове намерят някоя от курсове, които търсите
и тя ще се определи какво SQL трябваше да бъде написана
и го изпълни правилно за ти и всичко даде обратно към вас
в обект, който След това можете да покажете
на екрана реално лесно.
Така че начина, по който красноречиво RM работи е да се ... конвенцията
че използва е, че ако имате база данни таблица с
които се pluralized така например, курсове,
вие ще създадете клас в Курсът на папката модели повикване
и това е всичко, което ще трябва да направите е да речем,
клас, разбира се простира красноречив и тя
под капака автоматично поема
че това, което на масата име е, какво е ID,
така, тъй като има един автомобил Увеличаването ID и има едно
която идва с Laravel от По подразбиране тя се нарича потребител
и го използва някои предварително функции, наречени интерфейси,
които ние не отиваме за да премине,
но можете да видите клас потребител, се простира красноречив,
и можете да зададете името на таблицата
ако не сте след Конвенцията
на pluralized ... като множествено число име на таблица
и име на единствено число клас.
Но ние ще вървим напред създаде един за даден пример
от преди, ние ще вървим напред и да се създаде един за курсове.
Така че ние ще направим разбира точка PHP
и да направим клас разбира простира красноречив.
И така, аз отивам да скочи в PHP ми администратор
и действително повторно име тази таблица за курсове.
Така че сега имам маса курс на със същия пример данните
от първия каталог, който Дейвид бе споменал и сега
че този курс е
в модела директория ние да отидете напред и да кажа, разбира се,
ограничаване на 10, така че можем само искате да получите 10 записа,
получите и ще кажем, това е курсове.
И така, сега сме ще вървим напред
и нека да създадем по-добра картина за показване на тези неща всъщност.
Така че аз действително създаде шаблон нож рано
и аз съм просто ще вървим напред и го копирате тук просто
да спаси, спаси няколко минути от време.
[Background шум]
Добре, така че съм създал,
с оглед папка I на създадохме курсове разпръснати острие
и така аз ще направя оглед правят курсове, и аз отивам
да премине променлива курсове с на ... всъщност, че не става
да работят, само за секунда, курсове заглавие.
Добре, така че той не работи защото тя казва, отказан достъп
за маршрута на потребителя на локалния хост.
Така че, може ли някой да ми каже това, което те мисля, че може да е проблема тук?
Така че проблемът е, че аз никога не каза Laravel какво ... кой съм аз
в опитите си да достъп базата данни,
това не стане автоматично знам, че съм в състояние
за достъп до базата данни Опитвам се да задава въпроси.
Така че в папката Config
че бях споменато по-рано има база данни точка на PHP
подаде и тук ние трябва да кажем, че ние сме потребителско име, jharvard
и парола пурпурно и сега, ако ние вървим напред и да направим
че неизвестен данни база, база данни.
Така че на базата от данни че ние се опитваме
да вземем се нарича курсове [недоловим]
и този път тя работи.
Така че какво прави тук се е да ме пусне напред
и скочи обратно към контролера.
Така че го направих курсове, ограничат десет, да,
така че аз просто казах, че искам само 10 редове в базата данни,
донесе тези за тях, и да тях в този курсове променлива.
Така че този курс е променлива сега е обект
който съдържа различни колони
които имам достъп наистина лесно в шаблона.
Така че за всеки курс, като Разбира се ... давай напред и да увеличите,
и аз само да кажа, разбира се заглавие или курс описание
и той отива напред и изходи каквото и база данни ред
е там.
Така че, както можете да видите своята много по-прости, но лесно да се разсъждава
с, отколкото да се налага да напиша на SQL на ръка
и след това, фигуриращ как да, как да картата в обект
но когато тя стане наистина мощен е, когато, като David сортиране
на спомена по-рано, когато започнете
да имат различни маси , който искате да асоциирате
с друга, чрез външни ключове,
можете да имате тези обекти вършат тежката работа
на заявки и фигуриращ какво двойки с какво и как
да вървим напред и да направи това.
Така че, ако се вгледаме в ... нека давай напред
и скочи обратно тук наистина бързо, така че база данни довереник как го
там [недоловим] пропуснете тази за сега.
Така различните видове в моите ... Различни видове
на отношенията по подразбиране някои на ... има и още няколко
от това, но това са 4 най-разпространени са един има едно,
А има много, тя принадлежи също и тя принадлежи към много отношения.
Така че можете да сортирате на мисля, че на има едно като,
Знаете ли, ако имате само има едно нещо,
така че в този случай си сметка, това е просто наистина dumbed
определяне на опростени примерна схема
но си сметка има само един доставчик в този случай.
Така че има един доставчик ID и доставчик
така в таблицата на сметката има ID доставчика
и снабдител има на ID и има само сортиране
от едно към едно отношения.
Като има предвид, че има ... а принадлежи твърде
така че дадено нареждане само може да бъде поставен от клиент,
има предвид, че един клиент може да има един куп
на поръчки само по реда принадлежи към един клиент,
не може да има три различни хората да купуват и също нещо
в този пример.
И след това има много, както казах клиентът има много поръчки
но не по друг начин около и след това принадлежи
да е много по- напреднал отношения
че Дейвид щеше над по-рано, където можете сортиране
на присъединяване на две таблици чрез таблица, стажант,
Така че в този случай, възли, части е да се присъединят
на възли и части или пример
че сме били дадени по-рано,
курсовете на ... инструктори са съединени
от инструктор за обучение разбира се присъединят маса и в този случай,
и в случай Laravel е,
тя всъщност не изисква първична автоматично прилагане ID
на масата се присъедини макар че може да има една,
тя всъщност не прави изисква един или за него
да работи така, както го прави.
Така че нека да вървим напред и да се създаде нещо като
на няколко различни обекти на базата на релефа от базата данни
че ние имаме в момента и така че ще запази курсове
като нашата база обект, но сме ще кажа, че в търсенето
в базата данни таблица, време има много заседание
така че има много време за срещи, тя принадлежи към отдел
и принадлежи както много инструктори и изисквания.
Така че може да има множествена изисквания за курса
но изисквания биха могли да бъдат споделя от различни курсове.
Така че нека да вървим напред и да да видим дали можем да моделираме
че малко използване на красноречивите модели
така че сте се погрижили ... нека да започнем с инструктор точка [недоловим]
така че подобно на преди, ние сме ще отида напред и да кажем,
инструктор клас, простира красноречив
и така това би Предполагам, както казах по-рано,
че там е в множествено число на инструктор инструктори
и това е таблицата, ще бъде картографиране.
И сега на курса, ние ще вървим напред
и да кажа ... ние ще се създаде метод
така обществената функция инструктори,
обществеността ... Съжалявам, че съм ... да Инструкторите на публична функция
и начина, по който Laravel комплекти
отношенията ви върне това принадлежи към много инструктор,
така че това ни казва, че сега на курса е свързано
с модела на инструктор, това е всичко, което трябваше да направим
да се създаде, че връзката и сега, както сме
в този цикъл тук можем да кажем, така че защото това е има ... то принадлежи
много отношения там може една или повече инструктори.
Така че си масив или това е обект, който има повече
от един инструктор по него така че ние ще се също контур
тук и да кажа за всеки курс инструктори като инструктор
и след това избирам първото име и фамилия,
Вярвам, че тези, които са колони, така че първите и последните,
тя може да бъде първата име, фамилия.
Така че първата и последната е установена в в този курс на стоките
и да вървим напред и да да видим дали това прави
така инструктори ... да го изглежда като те се показват
нагоре, освен ако не е Не един, свързан
така че в този случай има са открити инструктори, изброени
с това, разбира се, но във всички другите случаи, които виждате едно
или повече инструктори като определени в отношенията.
Така че едно нещо, което е нещо като Хванах една понякога с ORM е
, като това е да отидете напред и да определи една връзка
и си мислиш, че е добре извличане на данните ми правилно
като гледам тук всичко се прави
На екрана се оправи, всичко е наред,
тя прави всичко на SQL зад кулисите за мен
но това, което се случва тук е
когато за първи път извлича курсове не знаят
че сте също ще бъде търси за инструкторите.
Така тя извлича всички курсове за вас и след това тя отива
за показване на всички тези данни в на, по мнението тук
и след това да стигне до този за всеки курс инструктори
и то се казва ясно, че не правя Знам какво инструкторите са
Все още ме пусна донесе тези
и го прави това всеки еднократно, че ще
през примката на курса.
Така че всеки път, че сте се опитва да покаже, разбира се
на екрана, това е нещо като закъснял към всичко, казвам, че трябва
да разберете какво на инструктори са за този ред
и така го прави N плюс една заявка
така го прави обаче много примки сте го прави друг
заявка като има предвид, че не е най-ефикасният начин да отида
за извличане и показване на вашите данни.
Така че начина, по който да донесе всичко отпред в Laravel е
да се каже, разбира се, с инструктори ограничават десет GET
и сега тя знае, че изглежда не се различава само за окото
но вместо да правиш I Предполагам, че това ще бъде 12 заявки
или така зад кулисите сега Това е само това две или три.
Така че можем да отидем, ние можем да продължим в тази мода и да зададете
до още няколко отношения, така това, което бяха някои
от друга страна има много среща.
Така че подобен ние се създаде модел, наречен среща,
клас [недоловим] простира красноречив
И това трябва да ... всичко трябва да се внимава от тук
ако погледнем на масата за заседания тя има ID за автоматично увеличаване
това е в множествено число, така че всичко трябва да работи правилно, ако ние се опитваме
за да се покаже на срещите.
Така че нека да се върнем към, ние Вече обясних това
и това е нов връзка ... съжалявам, че това е
има [недоловим] среща, така че нека да погледнем на масата за среща
и да видим какво бихме могли искате да се показва тук.
Така че нека просто да покаже ... всъщност Имам набор шаблон
за това, аз просто ще вземете малка масичка
и поставете този в точно тук.
Така че аз отивам да се покаже само някои данни
за различни курса срещи и [недоловим].
Виж, ако съм пропуснал нещо тук, срещи, аз го имаше единствено число
така че сега имаме сортиране на таблицата тук
по отношение на различни срещи, от какъв тип са,
когато тя започва, завършва и така нататък.
Така че мога да продължа на само създаването на тези отношения
но както го виждате вид резюмета на SQL се налага
да бъдат написани на ръка и тя се грижи за много
на тежката работа зад кулисите за вас
когато създавате тези асоциации въз основа на клавишите
че са създадени правилно в базата данни.
Както се случва през
и инсталиране Laravel Има много ... има толкова много
за покриване на това е всъщност нещо като на трудно да се опитаме да видим
коя част да отхапе и да отидете повече, но има много повече
които ние ще продължим да обсъдят вероятно в понеделник.
A много повече функции да красноречивия ORM
и различните начини за записване на данните, за асоцииране на данни,
изтриване неща, създавайки различните обхвати
за случаите, когато са заявки вмъкване [недоловим] и така нататък
така че можете да погледнете чрез това и аз мисля, че ...
>> Процесът ще бъде
като след това се движат напред е веднъж сме формира нашата основна група,
четири лице групи веднъж решим
на проектите на различните групи са начин отговорностите
по принцип ще се разделиха е един или двама от вас ще се справи
на се върнете към чертежа борда и да разбера добре
за каквото и проблем ние се опитваме
да решим тук са лица, които трябва да бъдат приложени:
например инструктор или ядро ​​или някаква
присъединят там на и ще спец. от базови данни, таблици
както направихме през първата половина на днес и след като Тим намекна
до тук следващата стъпка в този процес ще бъде да се достигне
с класовете и ще напиша няколко файлове
, които се простират в красноречив този начин, с помощта на някои от
от кутия функционалност, но тогава също може би някои добавяне
от вас притежава функционалност за Например Вземи телефонни номера
, където можете да добре форматирате телефонния номер, въз основа
на някои стандартни тема и т.н. и след това всички
тази информация ще се предполага, че да бъде съобщена на Вашия една
или две или три други ... други хора
в групата си казва всичко Добре ли са тези класове,
имате тази функционалност сега начало всъщност писмено логиката
изпълнение на контролерите, Междувременно някой друг
във вашата група ще се справят с възгледи и така шаблоните блейд
че Tim загатваше някой ще се погрижи
на [недоловим] опит и да използвате интерфейс
и падащото потребител и всичко, което
и въпреки, че ние току-що започна
да надраскат повърхността тук факта
че Тим не е писал един-единствен линия на SQL и факта,
че той е бил нещо като състояние
да се присъединят към автоматична тези няколко таблици е
, където можете наистина да започнете да виждаме нещата доста силно.
Така че, макар и с по първо, че ще
да бъде абсолютно на обучение крива, защото нещо има
, за да научите как това специално рамка работи.
В края добавянето на някои нови таблица, добавяйки някои нова функция
да, разбира се, нов каталог и подобни може да отнеме само няколко минути
да се направи и актуализиране шаблони, само за няколко секунди
така че това е наистина доста вълнуващо, което можете да започнете
да се направи бързо.
Така благодарение толкова много да Tim на че скала закачалка, да се погрижи
на формата на лотария в противен случай няма нищо общо
докато чуете назад от нас в един ден, или така чрез електронна поща,
Ще се видим следващата седмица.