>> Se konsa, youn nan sa yo, karakteristik yo ki pi rafine
nan fondasyon an Laravel se pale fasil ORM la
ak jan David vize deyò, yon ORM se yon mapeur relasyon objè
ki pèmèt ou nan kat jeyografik done baz ranje objè ki nan php
ak pèmèt ou kreye asosyasyon
ant tab sa yo diferan reyèlman fasil san yo pa gen
yo ekri yon anpil nan SQL anba kapo a
ak ba ou yon vrèman bèl sentaks pou chèche
pou yon dosye endividyèl elèv yo.
Se konsa, olye pou yo li di yo: chwazi, zetwal, ki soti nan kou
kote yon lòt bagay ou ta di, pou kou yo, jwenn [fèbl]
oswa kou jwenn nenpòt nan la kou w ap chèche
epi li ta detèmine kisa ki SQL sipoze dwe ekri
ak egzekite li byen pou ou menm ak bay li tout tounen ba ou
nan yon objè ki ou ka Lè sa a, montre
sou ekran an reyèl fasil.
Se konsa, fason ke pale fasil a RM travay se yo ... konvansyon an
ke li sèvi ak se ke si ou gen yon tab baz done
ki se pluralized Se konsa, pou egzanp, pou kou yo,
ou ta kreye yon klas nan kou a modèl katab rele
e ke sa a tout sa ou ta ou dwe fè se di,
kou klas fin pale fasil epi li
anba kapo a otomatikman pansé ké
ke sa tab la Non se, ki sa ki ID a se,
konsa tankou gen nan yon oto incrementing ID ak gen nan yon
ki vini ak Laravel pa Default sa yo rele li itilizatè
epi li sèvi ak kèk davans karakteristik rele interfaces,
ki nou pa pwal ale sou,
men ou ka wè klas itilizatè, fin pale fasil,
epi ou ka mete non an tab
si ou pa ap swiv konvansyon an
nan pluralized la ... li te gen yon non tab pliryèl
ak yon non klas sengilye.
Men, nou pral ale pi devan kreye yonn pou bay egzanp lan
yo devan, nou pral ale pi devan ak kreye yon sèl pou kou yo.
Se konsa, nou pral fè kou dot php
epi fè kou nan klas fin pale fasil.
Se konsa, mwen pral Ale nan php la admin m '
ak aktyèlman re-Non tablo sa a nan kou.
Se konsa, koulye a, mwen gen tab yon kou nan ak done a menm egzanp
soti nan katalòg la premye ki David te mansyone e kounye a,
ke kou sa a se
nan anyè nou modèl la a ka ale pi devan ak di, kou,
limite 10 Se konsa, nou sèlman vle jwenn 10 dosye,
jwenn epi nou pral di sa a se kou yo.
Se konsa, kounye a nou ap ale nan ale pi devan
e kite yo kreye yon View pi bon montre bagay sa a aktyèlman.
Se konsa, mwen aktyèlman te kreye yon lam modèl pi bonè
ak mwen jis ale nan ale pi devan ak fè kopi li sou isit la jis
pou konsève pou, sove yon kèk minit nan tan.
[Istorik bri]
Oke, se konsa mwen te kreye yon,
nan gade folder mwen an kreye yon kou dot lam
Se poutèt sa mwen ap pral fè wè fè pou kou yo, ak mwen pral
yo pase yon kou varyab ak ... aktyèlman ki pa k ap pase nan
nan travay, jis yon dezyèm fwa, kou tit.
Oke, se konsa li pa t 'travay paske li di aksè refize
pou wout itilizatè a lame lokal yo.
Se konsa, ka nenpòt moun ki di m 'sa yo panse ta kapab pwoblèm nan isit la?
Se konsa, pwoblèm nan se ke mwen pa janm te di Laravel sa ... kiyès mwen ye
nan ap eseye gen aksè baz done a,
li fè sa pa otomatikman konnen se mwen menm kapab
jwenn aksè nan baz done a M ap eseye sijè rechèch.
Se konsa, nan folder nan config
ke mwen te mansyone pi bonè gen yon php baz done dot
ranpli ak nan isit la nou bezwen di ke nou se non itilizatè, jharvard
ak wouj modpas ak kounye a, si nou ale pi devan epi fè
ke done enkoni baz, baz done.
Se konsa, baz done a ke nou ap eseye
yo chwazi a rele kou [fèbl]
ak tan sa a li te travay.
Se konsa, sa li a fè la a se li se kite m 'ale pi devan
ak so tounen nan kontwolè la.
Se konsa, mwen te fè pou kou yo, limite dis, jwenn,
Se konsa, mwen jis di mwen sèlman vle 10 ranje nan baz done a,
chache moun pou yo, yo mete yo nan varyab kou sa a.
Se konsa, kou sa a nan varyab se kounye a yon objè
ki gen la kolòn diferan
nan Tanp kote mwen ka jwenn aksè reyèlman byen fasil nan modèl la.
Se konsa, mwen pou chak kou kòm kou ... ale pi devan epi rale nan,
ak mwen jis di kou tit oswa kou deskripsyon
ak li ale pi devan epi rezilta tou sa ranje a baz done
ki gen la.
Se konsa, jan ou ka wè anpil li yo ki pi senp men byen fasil rezon ki fè
ak pase gen ekri soti SQL an nan men
ak Lè sa a, lè n ap kalkile konnen kouman ou kapab, ki jan yo kat jeyografik l 'nan yon objè
Men, kote li vin vrèman pwisan se lè 'tankou David, sòt
nan te mansyone pi bonè, lè ou kòmanse
gen tab diferan ke ou vle asosye
ak lòt, atravè la kle peyi etranje yo,
ou ka gen bagay sa yo fè leve a lou
nan rekèt la ak lè n ap kalkile soti sa ki pè moute ak e ak ki jan
ale pi devan epi rann sa.
Se konsa, si nou gade nan ... kite a ale pi devan
ak so tounen isit la vrèman rapid, Se konsa, baz done config li montre kouman li te resevwa
nan la [fèbl] sote sa a pou kounye a.
Se konsa, ki kalite diferan nan mwen ... diferan
de relasyon yo pa default kèk nan ... la gen yon pi plis kèk
pase sa a, men sa yo, se la 4 ki pi komen yo se yon gen yon sèl,
yon te anpil, li fè pati tou, epi li fè pati anpil relasyon.
Se konsa, ou kapab sòt de panse a yon gen yon sèl kòm,
èske w konnen si ou sèlman gen youn nan yon bagay,
Se konsa, nan ka sa a yon kont, sa a se jis reyèlman dumbed
desann senplifye konplo egzanp
men yon kont sèlman gen yon sèl founisè nan ka sa a.
Se konsa, gen nan yon founisè ID ak yon founisè
Se konsa, nan tablo kont lan a gen nan yon ID founisè
ak yon founisè kont li genyen yon ID ak gen nan sèlman sòt
nan yon relasyon youn nan yon sèl.
Lè nou konsidere ke yon ... gen nan yon ki dwe twò
Se konsa, yon lòd pou te kapab sèlman ap mete pa yon kliyan,
Lè nou konsidere ke yon kliyan ka gen yon pakèt
nan lòd lòd la sèlman ki dwe nan yon kliyan sèl,
ou pa kapab gen 3 diferan moun achte menm bagay la
nan egzanp sa a.
Lè sa a, yon te anpil, tankou m 'te di kliyan an gen anpil lòd
men se pa nan lòt fason ozalantou yo ak Lè sa a, ki dwe
nan anpil se pi plis la relasyon avanse
David te ale sou pi bonè kote ou sòt
nan rantre nan de ròch plat atravè yon tab entèn,
Se konsa, nan ka sa a asanble, pati se yon rantre nan
nan legliz yo ak pati oswa yon egzanp
ke nou te ba yo pi bonè,
kou yo ... la pwofesè te ansanm
pa yon enstriktè kou rantre nan tab ak nan ka sa a,
ak nan ka ta Laravel a,
li aktyèlman pa mande pou yon prensipal oto mete ann aplikasyon ID
sou tab la rantre nan menm si ou ka gen yon sèl,
li aktyèlman fè sa ki pa mande pou youn oswa pou li
nan travay wout la li fè sa.
Se konsa, kite a ale pi devan epi li moute sòt
nan yon kèk diferan objè ki baze sou sou kouche a soti nan baz done a
ke nou gen dwa kounye a epi yo Se konsa, nou pral kenbe kou
kòm baz nou an objè, men nou ap ale nan di ke nan kap
bò tab la baz done, kou a gen anpil reyinyon
Se konsa, li gen tan reyinyon anpil moun, li fè pati yon depatman
epi li fè pati tou de anpil pwofesè ak kondisyon.
Se konsa, ka gen plizyè kondisyon pou kou a
men kondisyon ta ka pa diferan kou pataje.
Se konsa, kite a ale pi devan epi wè si nou ka modle
ki yon ti jan lè l sèvi avèk modèl yo pale fasil
Se konsa, ou te gen ... kite la kòmanse avèk enstriktè dot [fèbl a]
Se konsa, menm jan ak anvan, nou ap ale nan ale pi devan epi di,
enstriktè klas, fin pale fasil
yo ak pou sa a ta sipoze jan mwen te di byen bonè,
ke gen yon pliryèl sou pwofesè enstriktè
ak sa a se tablo a ki li pral gewografik yo.
Epi, koulye a sou kou a, nou pral ale pi devan
epi di ... nou pral kreye yon metòd
Se konsa, fonksyon an piblik pwofesè yo,
piblik la ... regrèt mwen se ... yeah enstriktè yo fonksyon piblik
ak fason ke Laravel kouche
moute relasyon se ou retounen yon sa a fè pati anpil enstriktè,
Se konsa, sa a di nou kounye a ke se kou a ki asosye
ak modèl la enstriktè, sa a, se tout sa nou bezwen fè
yo mete kanpe ki relasyon e kounye a, kòm nou ap
nan sa a bouk isit la nou ka di, se konsa paske li nan yon gen ... li fè pati
relasyon anpil gen kapab youn oswa plis pwofesè.
Se konsa, li yon etalaj oswa li nan yon bagay ki gen plis
pase yon enstriktè sou li se konsa nou ap ale nan tou bouk
sou isit la epi di pou chak pwofesè kou kòm enstriktè
ak Lè sa a, chwazi soti premye a non ak non ki sot pase a,
Mwen kwè ke sa yo se a kolòn konsa premye ak dènye,
li te kapab fè premye non, non sot pase a.
Se konsa, premye ak dènye li a mete moute nan sa a catalogue kou
e kite yo ale pi devan epi wè si ke rann
Se konsa, pwofesè ... yeah li sanble yo yo ki montre
moute sòf si gen nan pa gen yon sèl ki asosye
Se konsa, nan ka sa a gen gen okenn pwofesè ki nan lis
ak kou sa a men nan tout lòt ka yo ou wè yon sèl
oswa plis pwofesè kòm sa defini nan relasyon an.
Se konsa, yon sèl bagay ki se sòt de yon gotcha pafwa ak ORM a
tankou sa a se ou ale pi devan epi defini yon relasyon
epi ou panse ke oke li nan atiran done m 'byen
jan mwen ap chache isit la tout bagay se rann
sou ekran an tout dwa, tout bagay se oke,
li nan fè tout SQL an dèyè sèn nan pou m '
Men, sa kap pase isit la se
lè li te premye èkstre la kou li pa konnen
ke w ap tou ale nan dwe kap chèche pwofesè yo.
Se konsa, li èkstre tout kou yo pou ou ak pou Lè sa a, li ale
montre tout bagay sa a done nan , nan la gade nan dwa isit la
ak Lè sa a, li vin nan sa a pou chak pwofesè kou
epi li di oke mwen pa fè sa konnen ki sa pwofesè yo
ankò kite m 'ale chache sa yo
epi li fè sa chak yon sèl fwa ke ou pral
nan bouk la kou.
Se konsa, chak fwa yon sèl ke w ap ap eseye montre yon kou
sou ekran an li a sòt de fen li tout sa li di mwen bezwen
ou jwenn sa a pwofesè yo se pou ranje sa a
Se konsa, li ap fè n plis yon sijè rechèch
se konsa li ap fè sepandan anpil pasan ou genyen li ap fè yon lòt
sijè rechèch Lè nou konsidere ke sa se pa fason ki pi efikas yo ale
sou Chairman ak montre done ou.
Se konsa, wout ki mennen nan chache tout bagay moute devan nan Laravel se
yo di kou ak pwofesè limite dis Pran
epi kounye a li konnen li sanble pa diferan jis nan je la
men olye pou yo fè m ' devine li ta 12 demann
oswa konsa dèyè sèn nan kounye a li a sèlman fè de oswa twa.
Se konsa, nou ka ale, nou ka kontinye nan ki alamòd, li mete
moute jis yon kèk plis relasyon Se konsa, sa te gen kèk
nan lòt la gen anpil reyinyon.
Se konsa, menm jan nou mete sou pye yon modèl yo rele reyinyon an,
klas [fèbl] fin pale fasil
epi li ta dwe ... tout bagay yo ta dwe pran swen nan isit la
si nou gade bò tab la reyinyon li nan te resevwa yon ID incrementing oto
li nan pliryèl se konsa tout bagay yo ta dwe travay byen si nou eseye
montre reyinyon yo.
Se konsa, kite a tounen nan, nou deja eksplike sa a
epi li te yon nouvo relasyon ... regrèt li te yon
gen [fèbl] reyinyon, se konsa kite yo gade nan tablo a reyinyon
ak wè sa ki nou ta ka vle montre isit la.
Se konsa, kite yo jis montre ... aktyèlman Mwen gen yon seri modèl
moute pou sa a, mwen pral jis gen tan pwan yon tablo ti kras
epi kole sa a nan dwa isit la.
Se konsa, mwen pral montre sèlman kèk done
sou kou a diferan reyinyon ak [fèbl].
Gade pou wè si mwen rate yon bagay isit la, reyinyon yo, mwen te gen li sengilye
Se konsa, kounye a nou gen sòt nan tablo a isit la
kòm nan diferan la reyinyon yo, sa ki kalite a yo,
lè li kòmanse, fini ètchetra.
Se konsa, mwen kapab kontinye sou nan jis mete kanpe relasyon sa yo
men kòm ou wè li sòt de rezime SQL an soti nan li te gen
Ou dwe ekri nan men ak li pran swen nan yon anpil
nan leve a lou dèyè sèn nan pou ou
lè ou kreye sa yo asosyasyon ki baze sou kle yo
ke yo mete kanpe byen nan baz done yo.
Kòm w ap pase
ak enstale Laravel gen nan yon anpil ... gen si tèlman
yo kouvri li la aktyèlman sòt nan difisil pou yo eseye wè
ki pati nan mòde koupe ak ale sou men gen yon anpil plis
ki nou pral kontinye diskite sou pwobableman nan Lendi.
Yon anpil plis karakteristik ORM a pale fasil
ak fason yo diferan nan ekonomize done, asosye done,
efase bagay sa yo, kreye Scopes yo diferan
pou lè w ap rekèt yo mete [fèbl] ètchetra
pou ou kapab pran yon gade nan sa a e mwen panse ...
>> Pwosesis la li pral
tankou Lè sa a, k ap deplase pi devan se yon fwa nou te fòme gwoup debaz nou an,
kat gwoup moun yon fwa nou deside
sou divès gwoup pwojè yo responsablite yo nan fason
pral jeneralman dwe divvied moute se youn oubyen de nan nou pral klase
nan tounen nan desen an tablo ak figi konnen tout dwa
pou kèlkeswa pwoblèm nou ap eseye
yo rezoud isit la yo se a antite nou dwe aplike,
pou egzanp yon enstriktè oswa yon nwayo oswa kèk kalite
nan rantre nan gen nan epi ou pral SPEC soti tab yo baz done
jan nou te fè nan pwemye mwatye nan jodi a ak Lè sa a, kòm Tim mansyone
isit la pwochen etap la nan pwosesis ki pral vini
moute ak klas yo, epi ou pral ekri yon dosye kèk
ki pwolonje pale fasil nan fason sa a lè l sèvi avèk kèk nan la
soti nan bwat fonksyonalite men Lè sa a, tou ajoute petèt kèk
nan ou posede fonctionnalités pou egzanp nimewo telefòn Pran
ki kote ou ta ka joliman fòma nimewo telefòn ki baze
sou kèk tèm estanda ak pou fè ak Lè sa a, tout
enfòmasyon ki pral prezimableman dwe kominike yo bay yon sèl ou
oswa de oswa lòt ... twa lòt moun
nan gwoup ou di tout dwa ou genyen klas sa yo,
ou gen fonksyonalite sa a kounye a kòmanse aktyèlman ekri lojik sa a
aplike contrôleur yo, pandan se tan yon lòt moun
nan gwoup ou pral fè fas ak nan opinyon yo ak pou lam modèl yo
ki Tim te ou evoke yon moun ap pran swen
nan [fèbl] eksperyans nan epi sèvi ak koòdone ou
ak gout la desann itilizatè yo ak tout sa ki
e menm si nou te jis kòmanse
grate sifas la isit la lefèt
ki Tim pa t 'ekri yon sèl liy nan SQL ak lefèt
ke li te sòt de kapab
otomajikman rantre nan sa yo tab miltip se
kote ou reyèlman kòmanse wè bagay san patipri pwisan.
Se konsa, menm si nan premye li pral
absoliman gen yon aprantisaj koub paske ou sòt de gen
aprann ki jan sa a fondasyon an patikilye travay.
Nan fen a pandan l ajoute ke kèk nouvo tab, ajoute kèk karakteristik nouvo
nan kou yon nouvo catalogue ak renmen an ka pran jis minit
fè ak jour modèl, segonn jis
Se konsa, li vrèman byen enteresan ki sa ou ka kòmanse
fè byen vit.
Se konsa, mèsi tèlman yo Tim sou ki hanger falèz, pran swen
nan fòm nan lotri otreman pa gen anyen fè
jiskaske ou tande tounen soti nan nou nan yon jou oswa konsa via e-mail,
nou pral wè ou semèn pwochèn.