{"id":68576,"date":"2023-05-05T11:18:13","date_gmt":"2023-05-05T10:18:13","guid":{"rendered":"https:\/\/kinsta.com\/it\/?p=68576&#038;preview=true&#038;preview_id=68576"},"modified":"2023-05-15T09:45:04","modified_gmt":"2023-05-15T08:45:04","slug":"laravel-model-factory","status":"publish","type":"post","link":"https:\/\/kinsta.com\/it\/blog\/laravel-model-factory\/","title":{"rendered":"Come Generare e Usare Record Falsi con le Model Factory di Laravel"},"content":{"rendered":"<p>I test sono essenziali per lo <a href=\"https:\/\/kinsta.com\/web-development\/\">sviluppo web<\/a>. Le model factory di Laravel definiscono i record del database in modo prevedibile e facilmente replicabile, in modo che i test delle vostre applicazioni siano coerenti e controllati. Le model factory definiscono un insieme di attributi predefiniti per ciascuno dei vostri modelli Eloquent.<\/p>\n<p>Per esempio, se state realizzando un&#8217;applicazione di blogging che consente agli autori e ai moderatori di approvare i commenti prima che vengano pubblicati, dovete verificare che la funzione sia impostata correttamente prima di distribuirla ai vostri utenti. Tutto questo richiede dati di prova.<\/p>\n<p>Per testare l&#8217;applicazione di blogging descritta sopra, avete bisogno dei dati dei commenti per imitare e testare le funzionalit\u00e0 della vostra applicazione. <a href=\"https:\/\/kinsta.com\/it\/blog\/laravel-10\/\">Laravel<\/a> vi permette di farlo senza ottenere commenti dagli utenti reali, usando le factory di Laravel e Faker per generare dati falsi.<\/p>\n<p>Questo articolo vi spiega come ottenere i dati dei commenti quando non avete commenti da utenti reali.<\/p>\n<div><\/div><kinsta-auto-toc heading=\"Table of Contents\" exclude=\"last\" list-style=\"arrow\" selector=\"h2\" count-number=\"-1\"><\/kinsta-auto-toc>\n<h2>Prerequisiti<\/h2>\n<p>Per completare questo tutorial, dovete conoscere quanto segue:<\/p>\n<ul>\n<li>XAMPP<\/li>\n<li>Composer<\/li>\n<\/ul>\n<p><a href=\"https:\/\/kinsta.com\/it\/argomenti\/xamp\/\">XAMPP<\/a> \u00e8 una distribuzione Apache gratuita e facile da installare che contiene PHP, Perl e MariaDB, un database MySQL. Questo tutorial utilizza l&#8217;ultima versione, la 8.1.10, che installa PHP 8.1.10. Leggete <a href=\"https:\/\/medium.com\/analytics-vidhya\/download-and-install-xampp-on-mac-oshow-to-download-and-install-xampp-on-mac-os-97705974080d\" target=\"_blank\" rel=\"noopener noreferrer\">questo articolo<\/a> se volete installare XAMPP per MacOS o <a href=\"https:\/\/ostechnix.com\/install-xampp-in-linux\/\" target=\"_blank\" rel=\"noopener noreferrer\">questa guida<\/a> se usate Linux. In questo tutorial usiamo XAMPP su Windows.<\/p>\n<p>Composer \u00e8 uno strumento che vi permette di definire, installare e scaricare i pacchetti da cui dipende la vostra applicazione web in fase di sviluppo e produzione. In questo tutorial usiamo la <a href=\"https:\/\/getcomposer.org\/download\/\" target=\"_blank\" rel=\"noopener noreferrer\">versione v2.4.4 di Composer<\/a> , che richiede la <a href=\"https:\/\/kinsta.com\/it\/blog\/benchmark-php\/\">versione 7.2+ di PHP<\/a>. Useremo Composer per installare il programma di installazione di Laravel.<\/p>\n<p>Potete anche scaricare il codice completo del progetto <a href=\"https:\/\/github.com\/multi-Adams\/laravel-factories-article\" target=\"_blank\" rel=\"noopener noreferrer\">per seguirlo<\/a>.<\/p>\n\n<h2>Come impostare il progetto<\/h2>\n<p>In questa sezione creeremo un progetto Laravel e lo collegheremo a un database. Vediamo tutto ci\u00f2 che comporta e come realizzarlo.<\/p>\n<h3>Installare il programma di installazione di Laravel<\/h3>\n<p>Per creare rapidamente un progetto Laravel, installate il programma di installazione di Laravel:<\/p>\n<pre><code class=\"language-sh\">composer global require laravel\/installer<\/code><\/pre>\n<p>Questo codice installa il programma di installazione di Laravel a livello globale sul computer.<\/p>\n<h3>Creare un progetto Laravel<\/h3>\n<p>Quindi <a href=\"https:\/\/docs.sevalla.com\/templates\/overview#laravel\">create un progetto Laravel<\/a> eseguendo questo codice:<\/p>\n<pre><code class=\"language-sh\">laravel new app-name<\/code><\/pre>\n<p>Questo codice avvia un nuovo progetto Laravel e installa tutte le dipendenze:<\/p>\n<figure style=\"width: 978px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/03\/creating-laravel-project.png\" alt=\"Codice di creazione del progetto Laravel\" width=\"978\" height=\"510\"><figcaption class=\"wp-caption-text\">Creare il progetto Laravel<\/figcaption><\/figure>\n<p>Un altro modo pi\u00f9 semplice per installare Laravel \u00e8 quello di utilizzare direttamente Composer.<\/p>\n<pre><code class=\"language-sh\">composer create-project laravel\/laravel app-name<\/code><\/pre>\n<p>Non \u00e8 necessario installare il programma di installazione di Laravel quando si usa il metodo sopra descritto.<\/p>\n<h3>Avviare l&#8217;app<\/h3>\n<p>Ora potete cambiare la directory in <strong>app-name<\/strong> e avviare il progetto utilizzando lo strumento dell&#8217;interfaccia a riga di comando (CLI) di Laravel, <a href=\"https:\/\/laravel.com\/docs\/9.x\/artisan#introduction\" target=\"_blank\" rel=\"noopener noreferrer\">Artisan<\/a>:<\/p>\n<pre><code class=\"language-sh\">php artisan serve<\/code><\/pre>\n<p>Questo codice avvia il progetto e lo connette a localhost:8000 o a qualsiasi altra porta disponibile se la porta 8000 \u00e8 in uso. Su localhost:8000, dovreste vedere qualcosa di simile a questo:<\/p>\n<figure style=\"width: 771px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/03\/laravel-website-homepage.png\" alt=\"L\u2019homepage del sito di Laravel\" width=\"771\" height=\"626\"><figcaption class=\"wp-caption-text\">Laravel<\/figcaption><\/figure>\n<h3>Creare un database<\/h3>\n<p>Per collegare la vostra applicazione a un database, dovete creare un nuovo database utilizzando l&#8217;interfaccia grafica PHPMyAdmin di XAMPP. Andate su <strong>localhost\/phpmyadmin<\/strong> e fate clic su <strong>New<\/strong> nella barra laterale:<\/p>\n<figure style=\"width: 560px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/03\/create-database-form.png\" alt=\"Il modulo Create Database per creare un database in PHPMyAdmin\" width=\"560\" height=\"144\"><figcaption class=\"wp-caption-text\">Modulo Create database<\/figcaption><\/figure>\n<p>L&#8217;immagine qui sopra mostra il modulo <strong>Create database<\/strong> con <strong>app_name<\/strong> come nome del database.<\/p>\n<p>Fate clic su <strong>Create<\/strong> per creare un database.<\/p>\n<h3>Modifica del file .env<\/h3>\n<p>Per collegare la vostra applicazione a un database, dovete modificare la parte DB del file <strong>.env<\/strong>:<\/p>\n<pre><code class=\"language-env\">DB_CONNECTION=mysql\nDB_HOST=127.0.0.1\nDB_PORT=3306\nDB_DATABASE=app_name\nDB_USERNAME=root\nDB_PASSWORD=<\/code><\/pre>\n<p>Questo codice inserisce le credenziali del database con il nome del database, il nome utente, la porta, la password e l&#8217;host. Ora avete tutto pronto per iniziare a creare factory e modelli.<\/p>\n<p><strong>Nota:<\/strong> Sostituite i valori con le credenziali del vostro database. Inoltre, se si verifica l&#8217;errore &#8220;Access denied for user&#8221;, inserite i valori di <code>DB_USERNAME<\/code> e <code>DB_PASSWORD<\/code> tra virgolette doppie.<\/p>\n<h2>Come generare dati falsi<\/h2>\n<p>Dopo aver creato l&#8217;applicazione e averla collegata al database, potete creare i file necessari per generare dati falsi nel database.<\/p>\n<h3>Creare il modello Comment<\/h3>\n<p>Create il file del modello per interagire con le tabelle del database. Per creare un modello, usate Artisan:<\/p>\n<pre><code class=\"language-sh\">php artisan make:model Comment<\/code><\/pre>\n<p>Questo codice crea un file <strong>Comment.php<\/strong> all&#8217;interno della cartella <strong>app\/Models<\/strong> con del codice di base. Aggiungete il seguente codice sotto la riga <code>use HasFactory;<\/code>:<\/p>\n<pre><code class=\"language-php\"> protected $fillable = [\n  \t'name',\n  \t'email',\n  \t'body',\n  \t'approved',\n  \t'likes'\n\t];<\/code><\/pre>\n<p>Questo codice elenca i campi che volete permettere di assegnare in massa perch\u00e9 Laravel protegge il vostro database dalle assegnazioni in massa per impostazione predefinita. Il file del modello <strong>Comment<\/strong> dovrebbe ora avere questo aspetto:<\/p>\n<figure style=\"width: 1492px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/03\/carbon.png\" alt=\"Il file del modello dei commenti\" width=\"1492\" height=\"858\"><figcaption class=\"wp-caption-text\">File del modello Comment<\/figcaption><\/figure>\n<h3>Creare il file di migrazione<\/h3>\n<p>Dopo aver creato il file del modello e aver dichiarato l&#8217;array <code>$fillable<\/code>, dovete creare il file di migrazione usando il comando seguente:<\/p>\n<pre><code class=\"language-sh\">php artisan make:migration create_comments_table<\/code><\/pre>\n<p><strong>Nota:<\/strong> La convenzione di denominazione per la creazione di migrazioni in Laravel \u00e8 solitamente <code><a href=\"https:\/\/en.wikipedia.org\/wiki\/Snake_case\" target=\"_blank\" rel=\"noopener noreferrer\">snake_case<\/a><\/code>, noto anche come <code>underscore_case<\/code>. La prima parola \u00e8 l&#8217;azione, la seconda \u00e8 un plurale del modello e l&#8217;ultima \u00e8 la funzione che viene creata all&#8217;interno del progetto. Ci\u00f2 significa che scriverete <code>create_books_table<\/code> quando create una migrazione per un modello Book (libro).<\/p>\n<p>Questo codice crea un file chiamato <strong>yyyy_mm_dd_hhmmss_create_comments_table<\/strong> all&#8217;interno della cartella <strong>database\/migrations<\/strong>.<\/p>\n<p>Successivamente, modificate la funzione up all&#8217;interno di <strong>yyyy_mm_dd_hhmmss_create_comments_table<\/strong>:<\/p>\n<pre><code class=\"language-php\">public function up()\n\t{\n  Schema::create('comments', function (Blueprint $table) {\n\t$table-&gt;id();\n\t$table-&gt;string('name');\n\t$table-&gt;string('email');\n\t$table-&gt;longText('body');\n\t$table-&gt;boolean('approved');\n\t$table-&gt;integer('likes')-&gt;default(0);\n\t$table-&gt;timestamps();\n\t});\n\t}<\/code><\/pre>\n<p>Questo codice crea uno schema che, a sua volta, crea una tabella con le colonne: <code>id<\/code>, <code>name<\/code>, <code>email<\/code>, <code>body<\/code>, <code>approved<\/code>, <code>likes<\/code>, e <code>timestamps<\/code>.<\/p>\n<h3>Eseguire le migrazioni<\/h3>\n<p>La creazione e la modifica del file delle migrazioni non serviranno a nulla finch\u00e9 non le eseguirete tramite la riga di comando. Se osservate il database manager, \u00e8 ancora vuoto.<\/p>\n<p>Eseguite le migrazioni con Artisan:<\/p>\n<pre><code class=\"language-sh\">php artisan migrate<\/code><\/pre>\n<p>Questo comando esegue tutte le migrazioni all&#8217;interno di <strong>database\/migrations<\/strong> perch\u00e9 \u00e8 la prima migrazione dalla creazione dell&#8217;applicazione:<\/p>\n<figure style=\"width: 980px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/03\/successful-migrations.png\" alt=\"Elenco delle migrazioni riuscite\" width=\"980\" height=\"511\"><figcaption class=\"wp-caption-text\">Migrazioni riuscite<\/figcaption><\/figure>\n<p>L&#8217;immagine seguente mostra tutti i file di migrazione eseguiti. Ognuno di essi rappresenta una tabella del database:<\/p>\n<figure style=\"width: 1064px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/03\/database-after-migrations.png\" alt=\"Schermata del database dopo la migrazione\" width=\"1064\" height=\"247\"><figcaption class=\"wp-caption-text\">Database dopo le migrazioni<\/figcaption><\/figure>\n<h3>Creare il file CommentFactory<\/h3>\n<p>Create un file factory che contenga la vostra funzione di definizione. Per questa dimostrazione, creerete un factory utilizzando Artisan:<\/p>\n<pre><code class=\"language-sh\">php artisan make:factory CommentFactory.php<\/code><\/pre>\n<p>Questo codice crea un file <strong>CommentFactory<\/strong><strong>.php<\/strong> all&#8217;interno della cartella <strong>database\/factories<\/strong>.<\/p>\n<h3>La funzione di definizione<\/h3>\n<p>La funzione all&#8217;interno di <strong>CommentFactory<\/strong> definisce il modo in cui <a href=\"https:\/\/fakerphp.github.io\/\" target=\"_blank\" rel=\"noopener noreferrer\">Faker<\/a> genera i dati falsi. Modificatela in modo che assomigli a questa:<\/p>\n<pre><code class=\"language-php\">public function definition()\n  {\n   return [\n \t'name' =&gt; $this-&gt;faker-&gt;name(),\n \t'email' =&gt; $this-&gt;faker-&gt;email(),\n \t'body' =&gt; $this-&gt;faker-&gt;sentence(45),\n \t'approved' =&gt; $this-&gt;faker-&gt;boolean(),\n \t'likes' =&gt; $this-&gt;faker-&gt;randomNumber(5)\n \t];\n\t}<\/code><\/pre>\n<p>Questo codice dice a Faker di generare quanto segue:<\/p>\n<ul>\n<li>Un nome<\/li>\n<li>Un indirizzo email<\/li>\n<li>Un paragrafo contenente 45 frasi<\/li>\n<li>Un valore approvato che pu\u00f2 essere solo vero o falso<\/li>\n<li>Un numero casuale compreso tra 0 e 9999<\/li>\n<\/ul>\n<h3>Collegare il modello Comment alla CommentFactory<\/h3>\n<p>Collegate il modello <code>Comment<\/code> a <code>CommentFactory<\/code> dichiarando una variabile protetta <code>$model<\/code> sopra la definizione:<\/p>\n<pre><code class=\"language-php\">protected $model = Comment::class;<\/code><\/pre>\n<p>Inoltre, aggiungete <code>use AppModelsComment;<\/code> alle dipendenze del file. Il file <strong>CommentFactory<\/strong> dovrebbe ora avere questo aspetto:<\/p>\n<figure style=\"width: 1492px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/03\/comment-factory-file.png\" alt=\"Il file CommentFactory\" width=\"1492\" height=\"1268\"><figcaption class=\"wp-caption-text\">Il file CommentFactory<\/figcaption><\/figure>\n<h2>Come fare il seeding del database<\/h2>\n<p>In programmazione, il termine &#8220;seeding&#8221; indica la generazione di dati falsi casuali per un database a scopo di test.<\/p>\n<p>Ora che avete creato il modello, eseguito le migrazioni e creato la definizione all&#8217;interno di CommentFactory, eseguite il seeder utilizzando il file <strong>DatabaseSeeder<\/strong>.<\/p>\n<h3>Creare il file CommentSeeder<\/h3>\n<p>Create un file <strong>seeder<\/strong> che usi la factory per generare i dati:<\/p>\n<pre><code class=\"language-sh\">php artisan make:seeder CommentSeeder.php<\/code><\/pre>\n<p>Questo codice crea un file <strong>CommentSeeder<\/strong><strong>.php<\/strong> all&#8217;interno della cartella <strong>database\/seeders<\/strong>.<\/p>\n<h3>Modificare la funzione Run<\/h3>\n<p>Collegate il modello Comment al CommentSeeder. Aggiungete il seguente codice all&#8217;interno della funzione run:<\/p>\n<pre><code class=\"language-php\">Comment::factory()-&gt;count(50)-&gt;create();<\/code><\/pre>\n<p>Questo codice indica al CommentSeeder di utilizzare il modello Comment e la funzione di definizione di CommentFactory per generare 50 commenti all&#8217;interno del database. Inoltre, aggiungete il sito <code>use AppModelsComment;<\/code> alle dipendenze del file. Il file <strong>CommentSeeder<\/strong> dovrebbe ora avere il seguente aspetto:<\/p>\n<figure style=\"width: 1492px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/03\/comment-seeder-file.png\" alt=\"Il file CommentSeeder\" width=\"1492\" height=\"896\"><figcaption class=\"wp-caption-text\">File CommentSeeder<\/figcaption><\/figure>\n<p><strong>Nota:<\/strong> Potete configurare Faker per creare dati locali. Ad esempio, potete impostare la generazione di nomi italiani invece di nomi casuali impostando <code>faker_locale<\/code> nel file <strong>app\/config.php<\/strong> su <code>it_IT<\/code>. <a href=\"https:\/\/fakerphp.github.io\/locales\/it_IT\/\" target=\"_blank\" rel=\"noopener noreferrer\">Trovate ulteriori informazioni su Faker Locales in questa guida<\/a>.<\/p>\n<h3>Eseguire il seeder<\/h3>\n<p>Successivamente, eseguite il file <strong>seeder<\/strong> con Artisan:<\/p>\n<pre><code class=\"language-sh\">php artisan db:seed --class=CommentSeeder<\/code><\/pre>\n<p>Questo codice esegue il file <strong>seeder<\/strong> e genera 50 righe di dati falsi nel database.<\/p>\n<figure style=\"width: 977px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/03\/database-seed-successful.png\" alt=\"Avviso che conferma che il seed del database \u00e8 avvenuto correttamente\" width=\"977\" height=\"164\"><figcaption class=\"wp-caption-text\">Seed del database avvenuta con successo<\/figcaption><\/figure>\n<p>Il database dovrebbe ora contenere 50 righe di dati falsi che potrete usare per testare le funzioni della vostra applicazione:<\/p>\n<figure style=\"width: 1340px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/03\/database-rows.png\" alt=\"Schermata del database con 50 righe di dati\" width=\"1340\" height=\"787\"><figcaption class=\"wp-caption-text\">50 righe di dati nel database<\/figcaption><\/figure>\n<h2>Come resettare il database<\/h2>\n<p>Quando usate i dati generati per i test, reimpostate il database ogni volta che eseguite un test. Supponiamo che vogliate testare la funzione di selezione dei commenti approvati. Aggiornate il database dopo ogni test per assicurarvi che i dati generati in precedenza non interferiscano con i test futuri.<\/p>\n<h3>Usare RefreshDatabase<\/h3>\n<p>Aggiornate il database utilizzando il tratto <code>RefreshDatabase<\/code> all&#8217;interno del file di <strong>test<\/strong>.<\/p>\n<p>Andate su <strong>ExampleTest.php<\/strong> all&#8217;interno della cartella <strong>tests\/Feature<\/strong> fino al commento <code>use IlluminateFoundationTestingRefreshDatabase;<\/code> e aggiungete la seguente riga di codice sopra la funzione <code>test_the_application_returns_a_successful_response<\/code>:<\/p>\n<pre><code class=\"language-php\">use RefreshDatabase;<\/code><\/pre>\n<p>Il file <strong>ExampleTest.php<\/strong> dovrebbe ora avere il seguente aspetto:<\/p>\n<figure style=\"width: 1492px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/03\/example-test-file.png\" alt=\"Schermata dell\u2019editor di codice con il contenuto del file ExampleTest\" width=\"1492\" height=\"932\"><figcaption class=\"wp-caption-text\">File ExampleTest<\/figcaption><\/figure>\n<h3>Eseguire il test<\/h3>\n<p>Dopo aver aggiunto il tratto <code>RefreshDatabase<\/code> al file di test, eseguite il test con Artisan:<\/p>\n<pre><code class=\"language-sh\">php artisan test<\/code><\/pre>\n<p>Questo codice esegue tutti i test dell&#8217;applicazione e aggiorna il database dopo i test, come mostrato nell&#8217;immagine sottostante:<\/p>\n<figure style=\"width: 421px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/03\/successful-test.png\" alt=\"Codice con un test Artisan test andato a buon fine\" width=\"421\" height=\"178\"><figcaption class=\"wp-caption-text\">Un test Artisan andato a buon fine<\/figcaption><\/figure>\n<p>Ora controllate il database per vedere la tabella dei commenti vuota:<\/p>\n<figure style=\"width: 545px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/03\/empty-comments-database.png\" alt=\"Schermata del database dei commenti vuoto\" width=\"545\" height=\"277\"><figcaption class=\"wp-caption-text\">Database dei commenti vuoto<\/figcaption><\/figure>\n\n<h2>Riepilogo<\/h2>\n<p>In questo articolo abbiamo visto come creare un progetto Laravel, collegarlo a un <a href=\"https:\/\/sevalla.com\/database-hosting\/\">database<\/a> e creare e configurare i modelli, le migrazioni, i factory e i file seeder per generare dati casuali per il database. Inoltre, abbiamo parlato di come resettare il database dopo aver eseguito i test.<\/p>\n<p>Ora sapete in che modo Laravel Factories e Faker facilitano la generazione di qualsiasi quantit\u00e0 di dati di prova in pochi minuti per testare un&#8217;applicazione o anche solo come placeholder, con una configurazione minima.<\/p>\n<p>Quando la vostra applicazione Laravel \u00e8 pronta per essere distribuita, potete farlo con i <a href=\"https:\/\/sevalla.com\/application-hosting\/\">servizi di Hosting di Applicazioni<\/a> di Kinsta in modo rapido ed efficiente.<\/p>\n<p>\u200b\u200b<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I test sono essenziali per lo sviluppo web. Le model factory di Laravel definiscono i record del database in modo prevedibile e facilmente replicabile, in modo &#8230;<\/p>\n","protected":false},"author":259,"featured_media":68577,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[],"topic":[26020],"class_list":["post-68576","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","topic-laravel"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v24.6 (Yoast SEO v24.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Come Generare e Usare Record Falsi con le Model Factory di Laravel - Kinsta\u00ae<\/title>\n<meta name=\"description\" content=\"Le Model factory di Laravel definiscono i record del database in modo prevedibile e facilmente replicabile. Scopri come ottenere dati dei commenti senza avere commenti reali degli utenti.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kinsta.com\/it\/blog\/laravel-model-factory\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Come Generare e Usare Record Falsi con le Model Factory di Laravel\" \/>\n<meta property=\"og:description\" content=\"Le Model factory di Laravel definiscono i record del database in modo prevedibile e facilmente replicabile. Scopri come ottenere dati dei commenti senza avere commenti reali degli utenti.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/it\/blog\/laravel-model-factory\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/kinstaitalia\/\" \/>\n<meta property=\"article:published_time\" content=\"2023-05-05T10:18:13+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-05-15T08:45:04+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/05\/laravel-model-factories.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"3042\" \/>\n\t<meta property=\"og:image:height\" content=\"1521\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Steve Bonisteel\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:description\" content=\"Le Model factory di Laravel definiscono i record del database in modo prevedibile e facilmente replicabile. Scopri come ottenere dati dei commenti senza avere commenti reali degli utenti.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/05\/laravel-model-factories.jpg\" \/>\n<meta name=\"twitter:creator\" content=\"@Kinsta_IT\" \/>\n<meta name=\"twitter:site\" content=\"@Kinsta_IT\" \/>\n<meta name=\"twitter:label1\" content=\"Scritto da\" \/>\n\t<meta name=\"twitter:data1\" content=\"Steve Bonisteel\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data2\" content=\"11 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/laravel-model-factory\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/laravel-model-factory\/\"},\"author\":{\"name\":\"Steve Bonisteel\",\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/person\/d84ceff87bd64a4368a581fc8aa8bd6f\"},\"headline\":\"Come Generare e Usare Record Falsi con le Model Factory di Laravel\",\"datePublished\":\"2023-05-05T10:18:13+00:00\",\"dateModified\":\"2023-05-15T08:45:04+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/laravel-model-factory\/\"},\"wordCount\":1699,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/it\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/laravel-model-factory\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/05\/laravel-model-factories.jpg\",\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinsta.com\/it\/blog\/laravel-model-factory\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/laravel-model-factory\/\",\"url\":\"https:\/\/kinsta.com\/it\/blog\/laravel-model-factory\/\",\"name\":\"Come Generare e Usare Record Falsi con le Model Factory di Laravel - Kinsta\u00ae\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/it\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/laravel-model-factory\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/laravel-model-factory\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/05\/laravel-model-factories.jpg\",\"datePublished\":\"2023-05-05T10:18:13+00:00\",\"dateModified\":\"2023-05-15T08:45:04+00:00\",\"description\":\"Le Model factory di Laravel definiscono i record del database in modo prevedibile e facilmente replicabile. Scopri come ottenere dati dei commenti senza avere commenti reali degli utenti.\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/laravel-model-factory\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/it\/blog\/laravel-model-factory\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/laravel-model-factory\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/05\/laravel-model-factories.jpg\",\"contentUrl\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/05\/laravel-model-factories.jpg\",\"width\":3042,\"height\":1521},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/laravel-model-factory\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/it\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Laravel\",\"item\":\"https:\/\/kinsta.com\/it\/argomenti\/laravel\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Come Generare e Usare Record Falsi con le Model Factory di Laravel\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinsta.com\/it\/#website\",\"url\":\"https:\/\/kinsta.com\/it\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Soluzioni di hosting premium, veloci e sicure\",\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/it\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinsta.com\/it\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinsta.com\/it\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/it\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/kinstaitalia\/\",\"https:\/\/x.com\/Kinsta_IT\",\"https:\/\/www.instagram.com\/kinstahosting\/\",\"https:\/\/www.linkedin.com\/company\/kinsta\/\",\"https:\/\/www.pinterest.com\/kinstahosting\/\",\"https:\/\/www.youtube.com\/c\/Kinsta\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/person\/d84ceff87bd64a4368a581fc8aa8bd6f\",\"name\":\"Steve Bonisteel\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/0adffb3f9c86a6ec8245f8399d540823?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/0adffb3f9c86a6ec8245f8399d540823?s=96&d=mm&r=g\",\"caption\":\"Steve Bonisteel\"},\"description\":\"Steve Bonisteel is a Technical Editor at Kinsta who began his writing career as a print journalist, chasing ambulances and fire trucks. He has been covering Internet-related technology since the late 1990s.\",\"url\":\"https:\/\/kinsta.com\/it\/blog\/author\/stevebonisteel\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Come Generare e Usare Record Falsi con le Model Factory di Laravel - Kinsta\u00ae","description":"Le Model factory di Laravel definiscono i record del database in modo prevedibile e facilmente replicabile. Scopri come ottenere dati dei commenti senza avere commenti reali degli utenti.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kinsta.com\/it\/blog\/laravel-model-factory\/","og_locale":"it_IT","og_type":"article","og_title":"Come Generare e Usare Record Falsi con le Model Factory di Laravel","og_description":"Le Model factory di Laravel definiscono i record del database in modo prevedibile e facilmente replicabile. Scopri come ottenere dati dei commenti senza avere commenti reali degli utenti.","og_url":"https:\/\/kinsta.com\/it\/blog\/laravel-model-factory\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/kinstaitalia\/","article_published_time":"2023-05-05T10:18:13+00:00","article_modified_time":"2023-05-15T08:45:04+00:00","og_image":[{"width":3042,"height":1521,"url":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/05\/laravel-model-factories.jpg","type":"image\/jpeg"}],"author":"Steve Bonisteel","twitter_card":"summary_large_image","twitter_description":"Le Model factory di Laravel definiscono i record del database in modo prevedibile e facilmente replicabile. Scopri come ottenere dati dei commenti senza avere commenti reali degli utenti.","twitter_image":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/05\/laravel-model-factories.jpg","twitter_creator":"@Kinsta_IT","twitter_site":"@Kinsta_IT","twitter_misc":{"Scritto da":"Steve Bonisteel","Tempo di lettura stimato":"11 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/it\/blog\/laravel-model-factory\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/it\/blog\/laravel-model-factory\/"},"author":{"name":"Steve Bonisteel","@id":"https:\/\/kinsta.com\/it\/#\/schema\/person\/d84ceff87bd64a4368a581fc8aa8bd6f"},"headline":"Come Generare e Usare Record Falsi con le Model Factory di Laravel","datePublished":"2023-05-05T10:18:13+00:00","dateModified":"2023-05-15T08:45:04+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/it\/blog\/laravel-model-factory\/"},"wordCount":1699,"commentCount":0,"publisher":{"@id":"https:\/\/kinsta.com\/it\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/it\/blog\/laravel-model-factory\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/05\/laravel-model-factories.jpg","inLanguage":"it-IT","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinsta.com\/it\/blog\/laravel-model-factory\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/it\/blog\/laravel-model-factory\/","url":"https:\/\/kinsta.com\/it\/blog\/laravel-model-factory\/","name":"Come Generare e Usare Record Falsi con le Model Factory di Laravel - Kinsta\u00ae","isPartOf":{"@id":"https:\/\/kinsta.com\/it\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/it\/blog\/laravel-model-factory\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/it\/blog\/laravel-model-factory\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/05\/laravel-model-factories.jpg","datePublished":"2023-05-05T10:18:13+00:00","dateModified":"2023-05-15T08:45:04+00:00","description":"Le Model factory di Laravel definiscono i record del database in modo prevedibile e facilmente replicabile. Scopri come ottenere dati dei commenti senza avere commenti reali degli utenti.","breadcrumb":{"@id":"https:\/\/kinsta.com\/it\/blog\/laravel-model-factory\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/it\/blog\/laravel-model-factory\/"]}]},{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/kinsta.com\/it\/blog\/laravel-model-factory\/#primaryimage","url":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/05\/laravel-model-factories.jpg","contentUrl":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/05\/laravel-model-factories.jpg","width":3042,"height":1521},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/it\/blog\/laravel-model-factory\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/it\/"},{"@type":"ListItem","position":2,"name":"Laravel","item":"https:\/\/kinsta.com\/it\/argomenti\/laravel\/"},{"@type":"ListItem","position":3,"name":"Come Generare e Usare Record Falsi con le Model Factory di Laravel"}]},{"@type":"WebSite","@id":"https:\/\/kinsta.com\/it\/#website","url":"https:\/\/kinsta.com\/it\/","name":"Kinsta\u00ae","description":"Soluzioni di hosting premium, veloci e sicure","publisher":{"@id":"https:\/\/kinsta.com\/it\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinsta.com\/it\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"it-IT"},{"@type":"Organization","@id":"https:\/\/kinsta.com\/it\/#organization","name":"Kinsta","url":"https:\/\/kinsta.com\/it\/","logo":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/kinsta.com\/it\/#\/schema\/logo\/image\/","url":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinsta.com\/it\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/kinstaitalia\/","https:\/\/x.com\/Kinsta_IT","https:\/\/www.instagram.com\/kinstahosting\/","https:\/\/www.linkedin.com\/company\/kinsta\/","https:\/\/www.pinterest.com\/kinstahosting\/","https:\/\/www.youtube.com\/c\/Kinsta"]},{"@type":"Person","@id":"https:\/\/kinsta.com\/it\/#\/schema\/person\/d84ceff87bd64a4368a581fc8aa8bd6f","name":"Steve Bonisteel","image":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/kinsta.com\/it\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/0adffb3f9c86a6ec8245f8399d540823?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0adffb3f9c86a6ec8245f8399d540823?s=96&d=mm&r=g","caption":"Steve Bonisteel"},"description":"Steve Bonisteel is a Technical Editor at Kinsta who began his writing career as a print journalist, chasing ambulances and fire trucks. He has been covering Internet-related technology since the late 1990s.","url":"https:\/\/kinsta.com\/it\/blog\/author\/stevebonisteel\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/posts\/68576","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/users\/259"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/comments?post=68576"}],"version-history":[{"count":14,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/posts\/68576\/revisions"}],"predecessor-version":[{"id":68908,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/posts\/68576\/revisions\/68908"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/68576\/translations\/en"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/68576\/translations\/it"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/68576\/translations\/pt"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/68576\/translations\/fr"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/68576\/translations\/de"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/68576\/translations\/jp"},{"embeddable":true,"hreflang":"nl","title":"Dutch","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/68576\/translations\/nl"},{"embeddable":true,"hreflang":"sv","title":"Swedish","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/68576\/translations\/se"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/68576\/translations\/es"},{"embeddable":true,"hreflang":"da","title":"Danish","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/68576\/translations\/dk"},{"href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/68576\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/media\/68577"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/media?parent=68576"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/tags?post=68576"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/topic?post=68576"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}