آموزش Laravel

Seeder در لاراول

seeder در لاراول

مفهوم seeder در لاراول، seeder ها یکی از امکانات مهم در لاراول برای تولید محتوای جداول دیتابیس هستند که نتیجه آن توسعه سریعتر می باشد.

آشنایی با seeder در لاراول

آشنایی با seeder در لاراول

 

همانطور که می دانید ما بعد از ایجاد جداول دیتابیس نیاز داریم برای تست پردازش های مختلف در آنها داده هایی رو وارد کنیم.

به شکل سنتی و دستی اگربخوایم این کار رو انجام بدیم باید وارد محیط “phpmyadmin ” بشیم و اطلاعات فیک رو در فیلدهای جدول وارد کنیم.

اما Seeder ها این امکان رو به ما می دهند که اطلاعات فیک رو به شکل سریعتر و تقریبا اتوماتیک وارد فیلدهای جداول کنیم. 

 

ایجاد seeder در لاراول

ما برای ایجاد seeder نیاز به جداول دیتابیس داریم اگر نمی دونید به چه شکل پیکربندی دیتابیس رو در لاراول انجام بدید و در آن جدول ایجاد کنید ابتدا این مطلب رو مطالعه کنید.

در اینجا فرض کنید ما جدولی با مشخصا تصویر زیر دارم و می خواهم از طریق seeder در لاراول اطلاعاتی به آن اضافه کنم.

ایجاد seeder در لاراول

ایجاد seeder در لاراول

 

ترمنیال ادیتور رو باز می کنم یا وارد محیط CMD در مسیر پروژه میشم و seeder خودم رو که در اینجا می خوام نامش “PostTableSeeder” باشه رو ایجاد می کنم.

				
					php artisan make:seeder PostTableSeeder
				
			

seeder ها در مسیر زیر قرار دارند.

				
					database -> seeders -> PostTableSeeder.php
				
			

ما هر زمان که بخواهیم با دیتابیس کار کنیم نیاز به “model” داریم و این یک قانون هست. پس برای جدول دیتابیس post یک modal به صورت زیر ایجاد می کنم.

model ها در مسیر زیر قرار دارند.

				
					app -> Models
				
			

وارد فایل PostTableSeeder میشم اطلاعات فیکی رو که می خوام به جدول اضافه کنم به صورت زیر می نویسم.

				
					<?php

namespace Database\Seeders;

use App\Models\Post;
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Seeder;

class PostTableSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        $posts = [
            [
                'title' => 'Post One',
                'excerpt' => 'Summary of Post One',
                'body' => 'Body of Post One',
                'image_path' => 'Empty',
                'is_published' => false,
                'min_to_read' => 2,            
            ],
            [
                'title' => 'Post Two',
                'excerpt' => 'Summary of Post Two',
                'body' => 'Body of Post Two',
                'image_path' => 'Empty',
                'is_published' => false,
                'min_to_read' => 2,            
            ],
            ];
            foreach($posts as $key => $value) {
                Post::create($value);
            }
    }
}

				
			

برای اجرای فایل و محتوای “PostTableSeeder” وارد فایل “DatabaseSeeder” میشم و آن را به شکل زیر فراخوانی می کنم.

				
					<?php

namespace Database\Seeders;

// use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Seeder;

class DatabaseSeeder extends Seeder
{
    /**
     * Seed the application's database.
     *
     * @return void
     */
    public function run()
    {
        $this->call(PostTableSeeder::class);
    }
}

				
			

در نهایت وارد ترمینال میشم و seeder خودم رو اجرا می کنم.

				
					// first run
php artisan migrate:reset
// next run
php artisan migrate --seed
				
			

اگر نخوایم migration رو اجرا کنیم و تنها فایل seed اجرا بشه از دستور زیر استفاده می کنیم.

				
					php artisan db:seed
				
			

اگر به درستی مراحل رو طی کرده باشید اطلاعات در جدول post درج خواهند شد.

آموزش seeder در لاراول

آموزش seeder در لاراول

 

 

جمع بندی

در این مقاله کوتاه سعی کردم نحوه ایجاد seeder ها و نحوه استفاده از آنها در لاراول رو توضیح بدم. امیدوارم این مطلب براتون مفید واقع شده باشه.

لطفا اگر نظر و پیشنهادی در خصوص مطالب و پیشبرد آنها دارید خوشحال میشم در قسمت دیدگاه ها مطرح بفرمایید.

آموزش های طراحی و برنامه نویسی وب

سایت رسمی لاراول

کاربرد HTML

 jQuery

جاوا اسکریپت در 1 ساعت

کاربرد CSS

آموزش ReactJS

صفر تا صد PHP

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *