{"id":25693,"date":"2021-06-02T18:44:00","date_gmt":"2021-06-02T15:44:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=25693"},"modified":"2021-10-17T18:31:05","modified_gmt":"2021-10-17T15:31:05","slug":"kuidas-teha-andmebaasi-kulvamist-laravelis","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/et\/kuidas-teha-andmebaasi-kulvamist-laravelis\/","title":{"rendered":"Kuidas teha andmebaasi k\u00fclvamist Laravelis"},"content":{"rendered":"<p>Varem olen avaldanud artikli <a href=\"https:\/\/themewp.inform.click\/et\/andmebaasi-kulvamine-php-fakeri-teegi-abil\/\" title=\"Faker Library abil\" >Faker Library abil<\/a> artikli <a href=\"https:\/\/themewp.inform.click\/et\/andmebaasi-kulvamine-php-fakeri-teegi-abil\/\" title=\"PHP andmebaasi k\u00fclvamiseks\" >PHP andmebaasi k\u00fclvamiseks<\/a>. Seda teemat uurides leidsin, et Laravel kasutab sama raamatukogu ka andmebaasi k\u00fclvamiseks. Kuna olen sel teemal kirjutanud artikli PHP-le, otsustasin kirjutada postituse ka Laraveli andmebaasi k\u00fclvamise kohta. Seda seet\u00f5ttu, et Laravel kasutab andmebaasi k\u00fclvamiseks oma protsessi.<\/p>\n<h3>Mis on andmebaaside k\u00fclvamine?<\/h3>\n<p>Andmebaasi k\u00fclvamine t\u00e4hendab, et t\u00e4itke andmebaasi tabelid testandmetega programmiliselt. Selle l\u00e4henemisviisi abil saab m\u00f5ne minuti jooksul andmebaasi sisestada tuhandeid kirjeid. See on t\u00f5hus viis, mitte k\u00e4sitsi. V\u00f5imalik, et soovite rakenduse testimiseks n\u00e4ivaid andmeid ja andmebaasi k\u00fclvamine programmi kaudu s\u00e4\u00e4stab tonni aega.<\/p>\n<h3>Fakeri raamatukogu<\/h3>\n<p><a href=\"https:\/\/github.com\/fzaninotto\/Faker\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Faker<\/a> on avatud l\u00e4htekoodiga teek, mis genereerib teie rakenduse andmebaasi jaoks <a href=\"https:\/\/github.com\/fzaninotto\/Faker\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">v\u00f5ltsandmeid<\/a>. Fakeri abil saab paari minuti jooksul sisestada andmebaasi tuhandeid kirjeid. See teek salvestab arendajatele igava andmesisestust\u00f6\u00f6. V\u00f5ite saada peaaegu k\u00f5iki andmeid, mida soovite. Raamatukogu genereerib v\u00f5ltsitud e-posti aadressi, nime, mobiilinumbri, s\u00f5nad, laused, l\u00f5igud, juhuslikud numbrid jne. V\u00f5ite lugeda, milliseid andmeid nad <a href=\"https:\/\/github.com\/fzaninotto\/Faker\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">dokumentatsioonis<\/a> esitavad .<\/p>\n<p>Laravel installib selle raamatukogu oma keskmesse. See t\u00e4hendab, et te ei pea seda eraldi installima. Nagu \u00f6eldud, vaatame, kuidas Laravelis andmebaasi k\u00fclvamist teha.<\/p>\n<h3>Alustamine<\/h3>\n<p>Alustamiseks koostan &quot;klientide&quot; tabeli veergude nime, e-posti aadressi ja elulookirjeldusega. N\u00e4eme \u00fche tabeli k\u00fclvamise protsessi. Samamoodi saavad kasutajad k\u00fclvata nii palju tabeleid kui nad tahavad.<\/p>\n<p>Looge klientide tabeli jaoks migreerimine k\u00e4suga:<\/p>\n<pre><code>php artisan make:migration create_customers_table<\/code><\/pre>\n<p>Avage migratsioonifail ja lisage veerud meetodile \u201e\u00fcles&quot;, nagu allpool n\u00e4idatud.<\/p>\n<pre><code>public function up()\n{\n\u00a0\u00a0\u00a0\u00a0Schema::create('customers', function (Blueprint $table) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$table-&gt;id();\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$table-&gt;string('name');\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$table-&gt;string('email');\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$table-&gt;text('bio');\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$table-&gt;timestamps();\n\u00a0\u00a0\u00a0\u00a0});\n}<\/code><\/pre>\n<p>K\u00e4ivitage k\u00e4sk migrate, mis loob teie andmebaasi &#8216;klientide&#8217; tabeli.<\/p>\n<pre><code>php artisan migrate<\/code><\/pre>\n<p>Seej\u00e4rel looge mudel &quot;Klient&quot;, mis kaardistatakse tabelisse &quot;Kliendid&quot;. Laravel 8.x k\u00e4ivitamisel luuakse teie mudelid kataloogis &#8216;App \/ Models&#8217;. Selle \u00f5petuse jaoks eeldan, et kasutate Laravel 8.x-i. Laraveli vanemas versioonis peate kohandama mudeli teed.<\/p>\n<pre><code>php artisan make:model Customer<\/code><\/pre>\n<h3>Andmebaasi k\u00fclvamine Laravelis<\/h3>\n<p>Laraveli andmebaasi k\u00fclvamiseks peate j\u00e4rgima m\u00f5nda sammu, mis on k\u00fclvikute kirjutamine, mudelitehase loomine ja k\u00fclvikute k\u00e4itamine. Teeme seda \u00fckshaaval.<\/p>\n<h4>K\u00fclvikute kirjutamine<\/h4>\n<p>Kui vaatate Laraveli failis\u00fcsteemi, m\u00e4rkate kataloogi <code>database\/seeders<\/code>. K\u00f5ik seemneklassid l\u00e4hevad sellesse kataloogi. Seemneklassis on <code>run<\/code>meetod, kust saate andmed tabelisse sisestada.<\/p>\n<p>Tehke seemneklassi CustomerSeeder k\u00e4suga:<\/p>\n<pre><code>php artisan make:seeder CustomerSeeder<\/code><\/pre>\n<p>P\u00e4rast selle k\u00e4su k\u00e4ivitamist peaksite n\u00e4gema <code>CustomerSeeder.php<\/code>all loodud faili <code>database\/seeders<\/code>. Avage see fail ja <code>run<\/code>lisage funktsioonile allolev kood.<\/p>\n<pre><code>public function run()\n{\n\u00a0\u00a0\u00a0\u00a0AppModelsCustomer::factory()-&gt;count(50)-&gt;create()-&gt;each(function ($customer) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$customer-&gt;save();\n\u00a0\u00a0\u00a0\u00a0});\n}<\/code><\/pre>\n<p>Siin helistan kliendivabrikule, mille loome j\u00e4rgmises etapis. Pange t\u00e4hele, et andsin v\u00e4\u00e4rtusele 50 loenduse meetodile. See t\u00e4hendab, et tabelisse \u201ekliendid&#8221; tuleks lisada 50 rida. Reguleerige seda v\u00e4\u00e4rtust vastavalt oma soovile.<\/p>\n<h4>Tehaste loomine<\/h4>\n<p>Kood, kuhu olen kirjutanud, <code>CustomerSeeder<\/code>otsib testiandmete saamiseks tehast. See t\u00e4hendab, et peame looma mudelitehase. Annan tehasele nime CustomerFactory. Mudelitehase loomiseks k\u00e4ivitage k\u00e4sk.<\/p>\n<pre><code>php artisan make:factory CustomerFactory --model=Customer<\/code><\/pre>\n<p>See k\u00e4sk loob kataloogi <code>CustomerFactory.php<\/code>sisek\u00fclje <code>database\/factories<\/code>. Avage see fail ja genereerige m\u00e4\u00e4ratlusmeetodile testandmed j\u00e4rgmiselt.<\/p>\n<pre><code>public function definition()\n{\n\u00a0\u00a0\u00a0\u00a0return [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'name' =&gt; $this-&gt;faker-&gt;name,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'email' =&gt; $this-&gt;faker-&gt;unique()-&gt;safeEmail,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'bio' =&gt; $this-&gt;faker-&gt;text,\n\u00a0\u00a0\u00a0\u00a0];\n}<\/code><\/pre>\n<p>\u00dclaltoodud massiiv tagastab bio jaoks juhuslikult valitud nime, e-posti aadressi ja teksti.<\/p>\n<h4>T\u00f6\u00f6tavad k\u00fclvikud<\/h4>\n<p>Seadsime k\u00f5ik koos k\u00fclviku ja tehasega. N\u00fc\u00fcd k\u00e4ivitage meie k\u00fclvik, kasutades allolevat k\u00e4sku.<\/p>\n<pre><code>php artisan db:seed --class=CustomerSeeder<\/code><\/pre>\n<p>Kontrollige oma klientide tabelit ja sinna peaks olema sisestatud 50 n\u00e4ivakirjet.<\/p>\n<p>\u00dclaltoodud k\u00e4sk k\u00e4ivitab \u00fche k\u00fclviku, millest me s\u00f5naselgelt m\u00f6\u00f6dusime. Oletame, et soovite luua mitu k\u00fclvikut ja k\u00e4itada neid k\u00f5iki \u00fche k\u00e4su abil. Sellistel juhtudel peaksite helistama oma k\u00fclvikutele, <code>DatabaseSeeder<\/code>mis asuvad samas kataloogis <code>database\/seeders<\/code>.<\/p>\n<pre><code>public function run()\n\u00a0\u00a0\u00a0\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$this-&gt;call(CustomerSeeder::class);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/ call as many seeders you wish\n\u00a0\u00a0\u00a0\u00a0}<\/code><\/pre>\n<p>Kasutaja saab luua nii palju k\u00fclvikuid kui tema n\u00f5uded ja helistada neile selle <code>run<\/code>meetodi abil.<\/p>\n<p>L\u00f5puks k\u00e4ivitage k\u00fclvikud, kasutades allolevat k\u00e4sku.<\/p>\n<pre><code>php artisan db:seed<\/code><\/pre>\n<p>See kutsub <code>run<\/code>meetodi j\u00e4rgi k\u00f5ik k\u00fclvikud ja t\u00e4idab selle.<\/p>\n<p>Loodan, et saate aru andmebaaside k\u00fclvamisest Laravelis. Tahaksin kuulda teie m\u00f5tteid ja ettepanekuid allpool olevas kommentaaride jaotises.<\/p>\n<h4>seotud artiklid<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/et\/paypal-payments-pro-integreerimine-laravelis\/\" title=\"PayPal Payments Pro integreerimine Laravelis\">PayPal Payments Pro integreerimine Laravelis<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/et\/kuidas-luua-honeypot-vormi-rampspost-voitlemiseks-laravelis\/\" title=\"Looge Honeypot vormi R\u00e4mpspost v\u00f5itlemiseks Laravelis\">Looge Honeypot vormi R\u00e4mpspost v\u00f5itlemiseks Laravelis<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/et\/juhend-google-recaptcha-v3-lisamiseks-oma-laraveli-veebisaidile\/\" title=\"Google reCAPTCHA v3 lisamine oma Laraveli veebisaidile\">Google reCAPTCHA v3 lisamine oma Laraveli veebisaidile<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Kas otsite andmebaasi k\u00fclvamist Laravelis? Selles artiklis n\u00e4itan, kuidas Laraveli rakenduses k\u00fclvamist luua ja k\u00e4ivitada. Fakeri raamatukogu<\/p>\n","protected":false},"author":1,"featured_media":21644,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[498],"tags":[842],"class_list":["post-25693","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-laravel2-5","tag-affiai-et"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/posts\/25693","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/comments?post=25693"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/posts\/25693\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/media\/21644"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/media?parent=25693"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/categories?post=25693"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/tags?post=25693"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}