Blog ب laravel & vue js الجزء السادس


فهاد الجزء السادس من blog ب laravel & vue js غادي نشوفوا كيفاش نزيدوا معلومات عشوائية فقاعدة البيانات بإستعمال laravel factories وأيضا faker لي هو package كيمكنا باش نزيدوا معلومات عشوائية فقواعد البيانات.

نظرة سريعة بالفيديو

1- إضافة ل CategoryFactory

كيف قلنا فالمقدمة ل factories كيمكنونا باش نزيدوا معلومات عشوائية فقاعدة البيانات أول factory غادي نزيدوا هي الخاصة بل catégories.

غادي تمشي ل cmd داخل ل projet ديالك ودير ل commande:

php artisan make:factory CategoryFactory 


غادي تمشي ل dossier database ثم factories غادي تلقى ل CategoryFactory تزادت من بعد فيها غادي نزيد المعلومات لي كتاخذ ل catégorie لي هما name و slug ولي كنخدم ب faker باش كنزيد فيهم المعلومات لي بغيت.


الكود ديال الملف هو :



                                //CategoryFactory.php

<?php

/** @var \Illuminate\Database\Eloquent\Factory $factory */

use App\Category;
use Faker\Generator as Faker;

$factory->define(Category::class, function (Faker $faker) {
    $title = $faker->sentence(rand(5,10));
    return [
        'name' => $title,
        'slug' => Str::slug($title)
    ];
});
                            

2- إضافة ل PostFactory

بنفس ال commande لي شفنا زيد PostFactory ولي غادي تاخذ المعلومات الخاصة ب post الكود ديال الملف هو :

                                //PostFactory.php

<?php

/** @var \Illuminate\Database\Eloquent\Factory $factory */

use App\Post;
use Faker\Generator as Faker;

$factory->define(Post::class, function (Faker $faker) {
    $title = $faker->sentence(rand(5, 10));
    return [
        'title' => $title,
        'slug' => Str::slug($title),
        'body' => $faker->paragraph(rand(200,500)),
        'user_id' => $faker->randomDigit(1,10),
        'category_id' => $faker->randomDigit(1, 10)
    ];
});
                            

3- إضافة ل CommentFactory

بنفس ال commande لي شفنا زيد CommentFactory ولي غادي تاخذ المعلومات الخاصة ب commentaire الكود ديال الملف هو :

                                //CommentFactory.php

<?php

/** @var \Illuminate\Database\Eloquent\Factory $factory */

use App\Comment;
use Faker\Generator as Faker;

$factory->define(Comment::class, function (Faker $faker) {
    return [
        'body' => $faker->paragraph(rand(200, 500)),
        'user_id' => $faker->randomDigit(1, 10),
        'post_id' => $faker->randomDigit(1, 10)
    ];
});
                            

4- إضافة المعلومات فقاعدة البيانات

باش ن executer هاد ل factories لي زدت غادي نمشي ل dossier seeds فيه كاين الملف DatabaseSeeder فيه غادي نزيد الكود لي كيزيد المعلومات العشوائية فقاعدة البيانات.

بالنسبة ل UserFactory فهي كتجي par défaut مع laravel وباش نفذ ل factories فل fonction run كنعيط لكل وحدة زدت ونخدم بل fonction create لي كتزيد المعلومات فقاعدة البيانات وهنا حددنا عشرة ديال القيم فكل table.

وباش نفذ ل fonction run كنفذ  هاد ل commande :

php artisan db:seed 

دبا يلا مشيتي لقاعدة البيانات ديالك غادي تلقى les tables عامرين بعشرة ديال القيم فقط تحقق من أن ل category_id مكتساويش 0 حيت بعد المرات كتعطى صفر ونفس الشي بالنسبة ل user_id باش متعطاكش erreur ف l'affichage يلا كانوا صفر عطيهم رقم ما بين 1 و 9.

دبا يلا فتحتي ل projet ف server ب php artisan serve ومشيتي ل 127.0.0.1:8000 غادي تلقى ل projet خدام و les fonctionnalités كاملين خدامين بقانا الجزء الخاص بالأدمن غادي نزيدوه من بعد.

الكود ديال الملف هو :


                                    //DatabaseSeeder.php

<?php

use Illuminate\Database\Seeder;

class DatabaseSeeder extends Seeder
{
    /**
     * Seed the application's database.
     *
     * @return void
     */
    public function run()
    {
        // $this->call(UsersTableSeeder::class);
        factory(App\User::class,10)->create();
        factory(App\Category::class, 10)->create();
        factory(App\Post::class, 10)->create();
        factory(App\Comment::class, 10)->create();
    }
}
                                


إشترك في قناتنا على اليوتيوب

بحث في الموقع


إشترك للتوصل بالجديد