Seeder در لاراول
21
دی
مفهوم seeder در لاراول، seeder ها یکی از امکانات مهم در لاراول برای تولید محتوای جداول دیتابیس هستند که نتیجه آن توسعه سریعتر می باشد.
همانطور که می دانید ما بعد از ایجاد جداول دیتابیس نیاز داریم برای تست پردازش های مختلف در آنها داده هایی رو وارد کنیم.
به شکل سنتی و دستی اگربخوایم این کار رو انجام بدیم باید وارد محیط “phpmyadmin ” بشیم و اطلاعات فیک رو در فیلدهای جدول وارد کنیم.
اما Seeder ها این امکان رو به ما می دهند که اطلاعات فیک رو به شکل سریعتر و تقریبا اتوماتیک وارد فیلدهای جداول کنیم.
ما برای ایجاد seeder نیاز به جداول دیتابیس داریم اگر نمی دونید به چه شکل پیکربندی دیتابیس رو در لاراول انجام بدید و در آن جدول ایجاد کنید ابتدا این مطلب رو مطالعه کنید.
در اینجا فرض کنید ما جدولی با مشخصا تصویر زیر دارم و می خواهم از طریق seeder در لاراول اطلاعاتی به آن اضافه کنم.
ترمنیال ادیتور رو باز می کنم یا وارد محیط CMD در مسیر پروژه میشم و seeder خودم رو که در اینجا می خوام نامش “PostTableSeeder” باشه رو ایجاد می کنم.
php artisan make:seeder PostTableSeeder
seeder ها در مسیر زیر قرار دارند.
database -> seeders -> PostTableSeeder.php
ما هر زمان که بخواهیم با دیتابیس کار کنیم نیاز به “model” داریم و این یک قانون هست. پس برای جدول دیتابیس post یک modal به صورت زیر ایجاد می کنم.
model ها در مسیر زیر قرار دارند.
app -> Models
وارد فایل PostTableSeeder میشم اطلاعات فیکی رو که می خوام به جدول اضافه کنم به صورت زیر می نویسم.
'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” میشم و آن را به شکل زیر فراخوانی می کنم.
call(PostTableSeeder::class);
}
}
در نهایت وارد ترمینال میشم و seeder خودم رو اجرا می کنم.
// first run
php artisan migrate:reset
// next run
php artisan migrate --seed
اگر نخوایم migration رو اجرا کنیم و تنها فایل seed اجرا بشه از دستور زیر استفاده می کنیم.
php artisan db:seed
اگر به درستی مراحل رو طی کرده باشید اطلاعات در جدول post درج خواهند شد.
جمع بندی
در این مقاله کوتاه سعی کردم نحوه ایجاد seeder ها و نحوه استفاده از آنها در لاراول رو توضیح بدم. امیدوارم این مطلب براتون مفید واقع شده باشه.
لطفا اگر نظر و پیشنهادی در خصوص مطالب و پیشبرد آنها دارید خوشحال میشم در قسمت دیدگاه ها مطرح بفرمایید.
هنوز حساب کاربری ندارید؟
ایجاد حساب کاربری