bygge web apps forfra med laravel

, opbygge web apps forfra med laravel - veltalende orm,,,,, 26,,,,,,,,, 12,,,,,,, det cyber - mandag envato tuts + kurser vil blive reduceret til $3.- og' ikke glip af, i dette nettuts + miniserie, vi bygger en webapplikation fra bunden, samtidig med at dykke ned i en stor, ny php ramme, der er hurtigt at damp, laravel., i denne lektie, vi skal arbejde på en integrerende del af en webapplikation: modellerne.vi vil lære om laravel er fantastisk orm gennemførelse: veltalende.,,,,, revision, velkommen tilbage til vores net ansøgninger fra bunden med laravel, serie!i den første lektion i rækken, som vi har lært en masse om laravel og dens filosofi:,,, hvad laravel er, hvad gør laravel forskellige fra andre php rammer, hvor at downloade laravel, hvordan til at fælde laravel, hvor laravel er routing - systemet, nogle andre elementer i laravel er routing - system hvordan skabe dit første laravel registeransvarlige, nogle yderligere elementer med laravel er registeransvarlige, hvordan man skaber din første laravel opfattelse, at bruge laravel er blade blive motor,,, hvis du ikke har læst det, bør du tage et kig på den foregående tutor og give det en læse - og dette vil gøre det lettere at forstå den filosofi, der ligger bag laravel og det meste af det, vi drøfter i denne forelæsning., i den anden del af laravel serie, bygger vi en vigtig del af vores test webapplikationen, instapics,, som er den model for gennemførelsen.uden yderligere ståhej, lad os komme i gang!,,, det er "modeller"?,, jeg har allerede talt lidt om hvad, modeller, befinder sig i en af mine tidligere artikler, zend ramme fra bunden - modeller og integrere doktrin orm, og for at undgå at gentage mig selv, vil jeg skrive det resumé af, hvad jeg har skrevet før.det er gratis at henvise til andre pædagogiske og læse mere om, hvad der er modeller.,, resumé:,,, modeller er repræsentanter for den database, og skal være, hvor alle forretningslogikken af en ansøgning er bosat, registeransvarlige kommunikere med modeller og bede dem om at hente oplysninger, de har brug for, er disse oplysninger sendes af en registeransvarlig for, og der er afsagt, det er meget sjældent, at en model med direkte interagerer med henblik på, men det kan ske, når det er nødvendigt, modeller, som kan tale med andre modeller, og der ikke er uafhængig.de forhold, der krydser hinanden, og disse forhold gør det nemmere og hurtigere for en kontrolenhed for at få oplysninger, da det ikke er til at interagere med forskellige modeller - modeller kan selv gøre,,, modeller i laravel, eller i de fleste rammer, er udarbejdet på samme måde.forskellen er, at laravel give os en let måde at bygge disse modeller ved at give os med almindelige metoder, at de fleste modeller ville have -, veltalende orm,.,,, veltalende orm,,, en orm er et objekt i forholdet mapper, og laravel har en, du elsker.det hedder "veltalende", fordi det giver dem mulighed for at arbejde med deres database, genstande og forhold ved hjælp af en velformuleret og ekspressive syntaks.,,, veltalende orm er laravel er indbygget orm gennemførelse.jeg mener, at det er en af de bedste orm implementeringer, jeg har set - er selv doktrin orm.det er utrolig elegant, under anvendelse af standard konventioner for at mindske konfiguration.,, konventioner, f.eks. ved hjælp af en kortfattet model forudsætter, at tabellen modellen repræsenterer har en id, mark.det, id, er den primære nøgle til en plade, og anvendes af de fleste af veltalende metoder.,, en anden ting, der står korrekt påtager sig, er, at deres bord navn er flertal i form af din model.for eksempel, din, bruger, model vil referere til, brugere, tabel.som det måske ikke altid er den standard for nogle, laravel er en måde at omgå dette: blot bruge $tabel, flag:,, klasse bruger udvider veltalende {offentlige statisk $tabel = my_users'}, vil dette give laravel til ikke at anvende konventionen og i stedet bruge det, der er specificeret i tabel. endelig laravel også kan automatisere oprettelse og ajourføring af timestamps for os.for at gøre det, tilføje, created_at, og /eller updated_at, kolonne i tabellen, og sætte $ikrafttrædelsestidspunkt, flag i model:,, klasse bruger udvider veltalende {offentlige statisk $timestamps = sandt.}, veltalende vil se flaget, og automatisk sætte, created_at, område oprettelse og ajourføring af, updated_at, område, hver gang en plade er opdateret.sejt, hva '?,, hurtigt genfinding, og fandt journaler er et snap med veltalende er søgning metoder.for eksempel, du er nødt til at finde en bestemt bruger rekord?bare gør:,, $bruger = bruger:: finde ($user_id), det vender tilbage, bruger, model, som de kan gøre forretninger på.brug for hypoteser.lad os forestille os, at du vil finde en bruger af e - mail - adresse.To accomplish this task, you might do something like:, ,$user = User::where('email', '=', $email)->first();, ,Alternatively, you could use Laravel's dynamic methods:, ,$user = User::where_email($email)->first();, ,Easy Inserts & Updates, ,Inserting and updating models using Eloquent can be accomplished in three steps., , , ,Step 1, - Get/Create the model.,, , $user = new User(); //or get an existing user $user = User::get($user_id);, , , ,Step 2, - Set the data,, , $user->email = '[email protected]'; $user->password = 'test1234';, , , ,Step 3, - Save,, , $user->save();, , ,,Done!,,,, og endelig, at forhold.,,, veltalende, er processen med at fastlægge forhold og genfinde relaterede modeller, enkel og intuitiv.,,, - det gør!veltalende støtter tre typer af forbindelser:,,, én til én, én for mange, mange, mange, at definere forholdet mellem modeller, du bliver nødt til at skabe en metode i begge modeller, at "beskriver deres forhold.for eksempel, lad os sige, bruger, has_one, user_profile,.du kan gøre det ved at definere en, user_profile, metode i, bruger, model:,, klasse bruger udvider veltalende {offentlige funktion user_profile() {tilbage $- > has_one ('user_profile)}}, for bruger, er vores "dominerende" model (dvs. brugeren har en profil og ikke en profil er en bruger), vi fastlægger, at en, user_profile, belongs_to, en, bruger:,, klasse user_profile udvider veltalende {offentlige funktion user() {tilbage $- > belongs_to ('user)}}, når vi har defineret disse forhold, så vi kan gøre: /* den user_profile, genstand for en bruger denne udfører to sql forespørgsler: vælg * fra er brugerne er, hvor "id" = $user_id udvælge * fra er user_profiles `, hvor er user_id er = $user_id * $bruger = bruger:: finde ($user_id); $user_profile = $bruger - > user_profile; /*, kan vi også gøre det omvendt * $user_profile = user_profile: hvor ('user_id "," = $user_id) - > first(). $bruger = $user_profile - > brugeren, én ting, der er værd at bemærke, her er en anden konvention: veltalende forudsætter, at den udenlandske nøgle, der er anvendt i user_profile, er opført i tabel navn +, _id,.igen, hvis de ønsker at ændre denne adfærd, kan du omgå den:,, klasse bruger udvider veltalende {offentlige funktion user_profile() {tilbage $- > has_one ('user_profile "," user_profile_user_id)}}, lad os sige, at vi skal definere forholdet mellem en, bruger, og hans, foto, uploader.dette er en for mange forhold, i modsætning til det, bruger, - - bruger profil, forhold, som var én til én.vi ved, at en bruger, has_many, foto, uploader så:,, klasse bruger udvider veltalende {offentlige funktion photos() {tilbage $- > has_many ('photo)).......klasse billede rækker veltalende {offentlige funktion user() {tilbage $- > belongs_to ('user)), er den vigtigste forskel her med, has_one, er, at den funktion, vi kan bruge til at få fat i, bruger, er billeder nu vil vende tilbage en vifte af, foto, genstande.så, hvis vi ville hente alle af en bruger, er billeder, vi kunne gøre, $billeder = bruger:: finde ($user_id) - > billeder; for hvert ($billeder som $foto) {.........}, nej, henviser til, billeder, som en ejendom er ikke en trykfejl.laravel giver os en smule sukker.vi kan også gøre:,, $billeder = bruger:: finde ($user_id) - > photos() - > get();,, mant mange forhold, det er lidt indviklet, men når de gennemføres, det gør det let at håndtere mange mange forhold mellem modeller.lad os f.eks. forestille os, at du igen har en, bruger, model, og hver af disse brugere kan få flere grupper.en gruppe kan også få flere brugere.vi skal bruge tre tabeller til at repræsentere disse særlige forhold:,,, brugere, - bord, hvor alle vores brugere er, grupper, - tabel, hvor alle vores grupper er, gruppe bruger - tabel, der indeholder en liste over alle brugere i en gruppe,,, tabel struktur - konventionen veltalende vil kigge efter vil være noget, som denne:,,, brugere,,, -... andre kolonner,,,, grupper,,, -... andre kolonner,,,, group_user, id, user_id,, group_id, anden kolonne,,,,,,,,,,, en anden konvention at bemærke, er, at de mellemliggende tabel, group_user, er den utrolige navne i de to tabeller, som er det, der forbinder ordnet alfabetisk med en understreger.som altid, vi er frie til at tilsidesætte det. her er, hvordan kodeksen vil se ind i hver af de modeller for de tre tabeller:,, klasse bruger udvider veltalende {offentlige funktion groups() (//, hvis vi ville tilsidesætte misligholdelse navngivningskonvention //for mellemprodukter tabel, kan vi gøre det sådan her: //afkast $- > has_many_and_belongs_to (gruppe "," group_listings); tilbage $- > has_many_and_belongs_to (gruppe)).......klasse gruppe omfatter veltalende {offentlige funktion users() (//, hvis vi ville tilsidesætte misligholdelse navngivningskonvention //for mellemprodukter tabel, kan vi gøre det sådan her: //afkast $- > has_many_and_belongs_to ('user "," group_listings); tilbage $- > has_many_and_belongs_to ('user ")).......klasse group_user udvider veltalende {offentlige funktion group() {tilbage $- > has_one (gruppe);} offentlig funktion user() {tilbage $- > has_one ('user)}}, til det sted, vi kan drage fordel af veltalende forhold funktioner: //få en bruger grupper $grupper = bruger:: finde ($user_id) - > grupper; //får alle brugere i en gruppe $brugere = gruppe: finde ($group_id) - > brugerne;,,, trin 1 - at skabe instapics database, og fortsætte med vores net anvendelse instapics, lad os starte med oprettelsen af databasen af vores anmodning.for at gøre det, lad os skrive det ønskede funktioner i anvendelse:,, kan brugerne login og register til en konto, kan brugerne følger andre brugere til at se billeder, de har uploadet, brugerne kan uploade deres eget billede og anvende et filter til det, kan brugerne kommentar, og som billeder,,, fra dette, kan vi udlede databasen tabeller, får vi brug for:,,,, brugere,,,,, - id (en - til - en med user_profiles.user_id, mange mange med sig selv ved hjælp af mellemprodukter tabel relationships.follower_id og followed_id, mange med photos.user_id og photo_comments. user_id), e - mail, kodeord, created_at,,, updated_at,,,,, user_profiles,,,,, id, user_id (en - til - en med brugerne. id), navn, profile_photo,,,,et forhold,,,,,, id, follower_id (en - til - en med brugerne. id), followed_id (en - til - en med brugerne. id), created_at updated_at,,,,,,, billeder,,,,, - id (én for mange med photo_comments. user_id), user_id (1 en af brugerne. id), beliggenhed, beskrivelse, created_at updated_at,,,,,,,, photo_comments,,,,, id, user_id (en - til - en med brugerne. id), photo_id (en - til - en med billeder. id), en meddelelse, created_at updated_at,,,,,,,, så lad os gå videre og skabe disse tabeller.til dette projekt, jeg bruger, mysql, og føle sig fri til at kopiere og pasta disse ordrer, skabe database er instapics « anvendelse er instapics « skabe tabel er instapics `. ` ` ` ` heltal - brugere (ikke er ikke underskrevet auto_increment, er e - mail er varchar (100), der ikke er nul, er kodeordet er varchar (100), der ikke er nul, er created_at er datetime ikke nul, er updated_at er datetime ikke nul, primære nøgle (id) er enestående indeks er index_email « (e - mail) - motor) = innodb tegnsæt utf - 8 opsummerer utf8_general_ci; skabe tabel er instapics `. ` user_profiles "(" id "tal ikke underskrevet, ikke er auto_increment, er user_id" tal ikke underskrevet ikke nul, er navn er tekst ikke er, er profile_photo er teksten ikke nul, primære nøgle (id) er enestående indeks er index_user_id (er user_id")," er fk_user_profiles_user_id er udenlandske nøgle er fk_user_profiles_user_id (er user_id) referencer er brugere ("id") om slette kaskade om ajourføring kaskade - motor) = innodb tegnsæt utf - 8 opsummerer utf8_general_ci; skabe tabel er instapics `. ` ` ` ` heltal (forhold - ikke underskrevet, ikke er auto_increment, er follower_id er tal ikke underskrevet ikke nul, er followed_id "tal ikke underskrevet ikke nul, er created_at er datetime ikke nul, er updated_at er datetime ikke nul, primære nøgle (id) er enestående indeks er index_follower_id_followed_id (er follower_id `, er followed_id), begrænsning er fk_relationships_follower_id er udenlandske nøgle er fk_relationships_follower_id (er follower_id) henvisninger er brugere (" id ") om slette cascade om ajourføring kaskade, begrænsning er fk_relationships_followed_id er udenlandske nøgle er fk_relationships_followed_id (er followed_id) referencer er brugere ("id") om slette kaskade om ajourføring kaskade - motor) = innodb tegnsæt utf - 8 opsummerer utf8_general_ci; skabe tabel er instapics `. ` ` ` ` heltal (billeder - ikke er ikke underskrevet auto_increment, « "tal ikke underskrevet, ikke er user_id" beliggenhed er tekst ikke nul, er beskrivelse er ikke ugyldig tekst, er created_at er datetime ikke nul, er updated_at er datetime ikke nul, primære nøgle (id), begrænsning er fk_photos_user_id er udenlandske nøgle er fk_photos_user_id (er user_id) referencer er brugere ("id) om slette kaskade om ajourføring kaskade - motor) = innodb tegnsæt utf8, indsamle utf8_general_ci; skabe tabel er instapics `. ` photo_comments ("id ` heltal ikke underskrevet, ikke er auto_increment, er user_id" tal ikke underskrevet ikke nul, er photo_id "tal ikke underskrevet ikke nul, er besked ` tekst ikke er, er created_at er datetime ikke nul, er updated_at er datetime ikke nul, primære nøgle (" id `) begrænsning er fk_photo_comments_user_id er udenlandske nøgle er fk_photo_comments_user_id (er user_id) referencer er brugere ("id") om slette kaskade om ajourføring kaskade, begrænsning er fk_photo_comments_photo_id er udenlandske nøgle er fk_photo_comments_photo_id (er photo_id) referencer er billeder er (id) om slette kaskade om ajourføring af c) motor = innodb tegnsæt utf - 8 opsummerer utf8_general_ci;,, alternatfolk, du har brug for indvandring, men vi vil gennemgå dem i en fremtidig lektion.,,, trin 2 - fælde laravel database konfiguration, før du gør noget med laravel modeller, vi skal fælde vores laravel anlægs database konfiguration.åben, anvendelse /ud /database. folkesundhedsprogrammet, er, at finde nogle af disse indstillinger:,,, profil, - om det er rigtigt, vil registrere alt sql querie gange i laravel logbøger.lad det som er rigtigt, for nu, hent, - type af returnerede data fra bob.standardværdi, bob: fetch_class, og bør forblive sådan.,, misligholdelse, er det navn, i den forbindelse indstillinger, der anvendes af ansøgningen.navnet henviser til indeks i $forbindelser, system lige under,,, - forbindelser - en automatiseret system af de mulige forbindelser til deres ansøgning.,,,, chauffør, - databasen - type.det kan være, pgsql,, sqlite,, mysql, eller, sqlsrv, vært - værten navn på din database server, database, - databasen navn, brugernavn, - brugernavn til brug i databasen server, kodeord, kodeord til brug på databasen - server, charset, - charset til brug på databasen server, præfiks - tabel præfiks på database, hvis en redis,,,,,,,, - - hvis du vil bruge laravel er, redis, bibliotek, du kan arrangere server information her.,,, med henblik på denne forelæsning, vi vil bruge mysql.Your ,database.php, file should look something like this (I removed the comments, but they should be fine to keep):, ,return array( \t'profile' => true, \t'fetch' => PDO::FETCH_CLASS, \t'default' => 'mysql', \t'connections' => array( \t\t'mysql' => array( \t\t\t'driver' => 'mysql', \t\t\t'host' => 'localhost', \t\t\t'database' => 'instapics', \t\t\t'username' => 'root', \t\t\t'password' => '(yourpassword)', \t\t\t'charset' => 'utf8', \t\t\t'prefix' => '', \t\t), \t), \t'redis' => array( \t\t'default' => array( \t\t\t'host' => '127.0.0.1', \t\t\t'port' => 6379, \t\t\t'database' => 0 \t\t), \t) );, , , Step 3 - Creating Your First Laravel Model, ,Begin by creating a Laravel model inside the ,anvendelsen /modeller, mappe.skabe, user.php indenfor, og tilføje følgende kode:,, klasse bruger udvider veltalende {}, nu, baseret på vores gennemgang af, hvad, bruger, er forhold, vi er nødt til at kode forholdet metoder til dem alle:,, klasse bruger udvider veltalende (//om $timestamp for ægte så veltalende //automatisk vil sætte created_at //og updated_at værdier offentlige statisk $timestamps = sandt; offentlig funktion user_profile() {tilbage $- > has_one ('user_profile)} offentlig funktion followers() {tilbage $- > has_many_and_belongs_to ('user "," forhold "," followed_id "," follower_id)} offentlig funktion following() {tilbage $denne- > has_many_and_belongs_to ('user "," forhold "," follower_id "," followed_id)} offentlig funktion photos() {tilbage $- > has_many ('photo)} offentlig funktion photo_comment() {tilbage $- > has_many ('photo_comment)), og mærkbart. vi gør brug af en avanceret mange mange funktioner, på grund af den tabel struktur i vores følgesvend model (dvs., brugere, tabel referencer, forhold, som referencer, brugere, tabel igen).det, has_many_and_belongs_to, funktion har følgende metode underskrift: /* * * få forespørgslen til mange mange forhold.* * @ param snor $model * @ param snor $tabel * @ param snor $udenlandske * @ param snor $andre * @ tilbage forhold * /offentlige funktion has_many_and_belongs_to ($model, $tabel = for $udenlandske = for $andre = for), men lad os skabe en model, der har mange mange forhold i sig selv (dvs. brugerne følger andre brugere).vi bruger, at tilhængere, og efter metode navne på, bruger, model for at gøre det muligt for os at få en brugers tilhængere og alle brugere, som en enkelt bruger er efter henholdsvis, efter brugerens, model, skaber de andre modeller.når du er færdig, skal du have:,,, anvendelse /model /photo.php, anvendelse /modeller /photo_comment.php, anvendelse /modeller /relationship.php, anvendelse /modeller /user.php, anvendelse /modeller /user_profile.php, disse sager vil blive i resten af os komme register, så hvis du foretrækker at downloade dem, du kan finde dem her: https://github.com/nikkobautista/laravel-tutorial, trin 4 - skabe brugeren funktioner for instapics, lad os begynde med vores modeller ved at skabe nogle af brugeren funktioner, vi får brug for i ansøgningen.det første: bruger registrering.fra den foregående forelæsning, vi allerede har skabt, registrering /login form, på hjemmesiden.lige nu, er det ikke noget, men lad os koble den til en, der bruger registeransvarlige, ægtheden, action.skabe, anvendelse /de /user.php, med følgende kode:,, klasse user_controller udvider base_controller {offentlige funktion action_authenticate() {}}, åbne, anvendelse /synspunkter /home /index.blade.php, og se om login form.ajourføre form på linie 18, at forelægge den, action_authenticate(), metode:,, < form klasse = "godt" metode = "post" action = "bruger - /autentificere" >,, der går tilbage til det, user_controller, lad os en kode, action_authenticate(),,, klasse user_controller udvider base_controller {offentlige funktion action_authenticate() {$e - mail = input: kom ('email) $kodeord = input: kom ('password. $new_user = input: kom ('new_user "," af "); hvis ($new_user = = '") (prøve ($bruger = nye user(). $bruger - > e - mail - = $e - mail: $bruger - > password = hash: gøre ($password); $bruger - > save();): login ($bruger); tilbage omdirigere:: ('dashboard /index)} fangst (undtagen $e) (echo "faield at skabe nye bruger!";) andet ($id = system ("brugernavn = > $e - mail," kodeord "= > $password); hvis (): forsøg ($akkreditiver) {tilbage omdirigere:: ('dashboard /index)} andre (echo" ikke ind! ";}}}}, lad os bryde ned, hvad vi har gjort hidtil:,,, vi bruger den, input, bibliotek for at få input fra de forelagte form, hvis de $new_user, flag blev kontrolleret, skaber vi en ny, bruger, ved hjælp af, hash, bibliotek skabe et krypteret kode.,, log i den nye, bruger med, men, bibliotek, hvis de $new_user, flag var en ukontrolleret, skaber vi en $akkreditiver, system, og bruge det til, men, biblioteket.,, hvis virkninger: forsøg, er sandt, - den prøvelse var korrekt, og at vi er inde i, ellers betyder det prøvelse var forkert., i begge scenarier, omlægge til, instrumentbræt, finansinspektørens indeks, handling, når en succes, og echo en fiasko besked om ikke.,,, input bibliotek, grundlæggende sjovtsektion i, input, bibliotek, er at gøre det muligt for indhentning af form af data.for eksempel, i, bruger registeransvarlige, vi anvendte, input: kom ('email "), for at få den e - mail - værdi fra form.det er vigtigt at bemærke, at de kom, metode anvendes for alle typer af anmodninger og ikke bare de $_get, array.,, du kan læse mere om input - biblioteket her: http: //////////////laravel. kom /docs /input&#input, men bibliotek, laravel kommer med sin egne autenticitetsmekanisme,,), biblioteket.det kan gøre følgende karakteristika med hensyn til afsenderautentificering,.,, at skabe en hashed kodeord, kan vi bruge det, hash, bibliotek, som så:,, $kodeord = hash: gøre ($plaintext_password); denne metode skaber en saltet og hashed kodeord for brugeren ved hjælp af kryptering. nøgle, vi satte os i konfigurationen fil.for at kontrollere, om en hash er korrekt, kan du bruge:,, hvis (hash: se ($plaintext_password, $hashed_password) = = sand) (echo - "adgangskode er korrekte.«.}, skovhugst i en bruger, for det, vi bruger, men, bibliotek, forsøg og metode.før det, vi bygger en $akkreditiver, system, som er et overordnet system med et brugernavn og password,, indeks:,, $id = system ("brugernavn = > det @ youremail. com", "kodeord" = > "yourpassword '); hvis (): forsøg ($akkreditiver) = = sand) (echo - brugeren er registreret;} andre (echo' mandat ikke"), er det vigtigt at huske på, at når man er "succes", brugeren automatisk er logget på.,, loggin en bruger i - ud, nogle gange, bliver vi nødt til at logge ind brugeren uden at anvende, forsøg, metode (f.eks. når skovhugst i en bruger fra en forbindelse i en e - mail, eller efter registrering).vi kan gøre det med den): login metode:,,): login ($bruger); //, hvor $bruger er en bruger objekt): login (42); //, hvor 42 er brugerens id, på den anden side har vi også en, men:: logout - metode til skovhugst brugere:,,): logout();,, vil det bringe brugerens møde.,, henter logget på brugerens data,,,): bruger metode giver os mulighed for at hente de registrerede i brugernes formål, samt alle oplysninger, der er knyttet til det:,, $e - mail =): user() - > e - mail -. $created_at =): user() - > created_at;,, konfigureringen af de,), bibliotek,,,, men, bibliotek skal være konfigureret før anvendelse (om misligholdelse vil arbejde sammen med de fleste projekter, som dette.).konfigurationen variabler:,,, chauffør, - det kan enten være, veltalende, eller flydende,.udviklere kan skrive deres egne chauffører ved at udvide, chauffør, klasse i, laravel /) /chauffører,.,, brugernavn, - det er kolonnen navn, hvad er din bruger "brugernavn" i databasen, tabel.,, model, - når der veltalende, dette er den model, som den klasse, men -, biblioteks - anvendelser, tabel, - ved hjælp af flydende autentificering chauffør, der bestemmer den database, tabel for brugerne i ansøgningen, vores projekt, instapics anvendes standardværdier i, auth.php, konfiguration fil, så vi behøver ikke at ændre noget i den.,, der går tilbage til projektet prøv at afprøve login /registrering elementer af instapics!ret smart, hva '?vil du se, om, at vi ikke har noget på, instrumentbræt, registeransvarlige endnu, så lad os arbejde på det næste.,,, løntrin 5 - skaber instapics instrumentbræt, den første ting, vi skal gøre, er at skabe, instrumentbræt, finansinspektørens med, indeks, action.skabe den fil, anvendelse /de /dashboard.php, og sætte følgende kode:,, klasse dashboard_controller udvider base_controller {offentlige funktion action_index() {$billeder =): user() - > photos() - > order_by ('created_at "," desc ') - > order_by ('id "," desc') - > get(); tilbage synspunkt: gøre ('dashboard. indeks, system ('photos = > $billeder)), skal vi nu til at skabe instrumentbrættet er indeks side.Create ,application/views/dashboard/index.blade.php, and append the following:, ,@layout('layouts/main') @section('navigation') @parent <li><a href="user/logout">Logout</a></li> @endsection @section('content') <div class="row"> <div class="span3"> <div class="well sidebar-nav"> <ul class="nav nav-list"> <li class="nav-header">Followers</li> </ul> <div style="margin-left: 10px"> @forelse (Auth::user()->followers as $follower) <div style="float: left; width: 30px; margin: 0px 3px 3px 5px;"> <img src="http://nettuts.s3. amazonaws. kom /2069_laravel_2 /http: ////////////////////////////gravatar. kom (strtolower avatar {{md 5 (trim ($tilhænger - > e - mail -)))).s=25&d=retro" alt="Follower" title="{{ $follower->email }}" /> </div> @empty <div>You have no followers.</div> @endforelse <div style="clear: both"></div> </div> <ul class="nav nav-list"> <li class="nav-header">Following</li> </ul> <div style="margin-left: 10px"> @forelse (Auth::user()->following as $following) <div style="float: left; width: 30px; margin: 0px 3px 3px 5px;"> <img src="http://nettuts.s3.amazonaws.com/2069_laravel_2 /http: ////////////////////////////gravatar. kom (strtolower avatar {{md 5 (trim ($efter - > e - mail -)))).s=25&d=retro" alt="Following" title="{{ $following->email }}" /> </div> @empty <div>You are not following anybody.</div> @endforelse <div style="clear: both"></div> </div> </div> </div> <div class="span9"> <h1>Your Photos</h1> @forelse ($photos as $photo) <div class="well" style="text-align: center"> <img src="http://nettuts.s3.amazonaws.com/2069_laravel_2/{{ $photo->location }}" alt="{{ $photo->description }}" title="{{ $photo->description }}" /> <p>{{ $photo-> beskrivelse) < /p > < /div > @ tomme < div klasse = "alarm beredskab info" > < h4 klasse = "alarm under overskriften" > den!< /h4 > < p > det ser ud, som om du ikke har nogen billeder endnu.< en href = "#" > uploade en ny?< /a > < /p > < /div > @ endforelse < /div > < /div > @ endsection, genopfriske instrumentbrættet side, du skal se det her:,,, ser lidt tomt?Add this to the ,Dashboard, controller, and run it by accessing ,dashboard/insert_test_data, on your browser:, ,public function action_insert_test_data() { $logged_in_user = Auth::user(); for( $x = 0; $x < 10; $x++ ) { $email = rand().'@gmail.com'; $user = new User(); $user->email = $email; $user->password = Hash::make($email); $user->save(); $logged_in_user->followers()->attach($user->id); if( $x > 5 ) { $logged_in_user->following()->attach($user->id); } } $photos = array( array( 'user_id' => $logged_in_user->id, 'location' => 'http://farm6. staticflickr. kom /5044 /5319042359_68fb1f91b4 jpg "," beskrivelse "= >" dusty minder, pigen i sort baskerhue (http: //////////////www.flickr. kom /billeder /skyet dag /) «), system ('user_id = > $logged_in_user - > id, lokalitet = > http: //////////////farm3. staticflickr. kom /2354 /2180198946_a7889e3d5c jpg "," beskrivelse "= > rascals, tannenberg (http: ////////////////////////////www.flickr. kom billeder tannenberg /) «), system (' user_id = > $logged_in_user - > id, lokalitet = > http: //////////////farm7. staticflickr. kom /6139 /5922361568_85628771cd jpg", "beskrivelse" = > sunset, funset, nikko bautista (http: //////////////////////www.flickr. kom billeder nikkobautista /) ')); $logged_in_user - > photos() - > medmindre ($billeder)}, når du opfriske den side, så skal du se, hvordan det ser ud med stikprøven data:,,,,,,, konklusion, i anden del af vores laravel, serier, vi lærte:,, nogle oplysninger om, hvad "modeller" er, hvad den veltalende orm er, hvordan til at oprette laravel database konfiguration, hvordan man skaber din første laravel model, grundlæggende funktioner, men også og input, biblioteker, ved at gøre brug af den veltalende orm i betragtning, veltalende er virkelig en fedt orm gennemførelse - det er hurtigt og har masser af ting, som gør database interaktioner i enhver ansøgning, så enkle som muligt, i vores net ansøgninger fra bunden med laravel, series, vil vi læreom anvendelse af laravel er filtre, laravel, validering, bibliotek, og hvordan de skal arbejde med sager i laravel!,, hvad synes du om laravel er veltalende orm?er det noget, du finder nyttigt?lad mig vide, i bemærkningerne.og hvis du er en tuts + præmie, bliv her til vores kommende laravel væsentlige!,

Instapics
Instapics Dashboard
Instapics Dashboard w Sample Data



Previous:
Next Page: