غالبًا ما أجد نفسي أعود إلى وثائق Laravel عندما أحتاج إلى إنشاء مصانع وبذارات جديدة لمشاريعي، سواء كانت تمارين تعليمية أو مشاريع هوايات أو تطبيقات واقعية ( أشعر بالملل من القيام بنفس الإجراءات في كل مرة). لتسهيل هذه العملية، قررت إنشاء دليل يمكنني الرجوع إليه عند الحاجة، مما يوفر الوقت ويتجنب الحاجة إلى البحث في الوثائق الشاملة. إذا كان هذا الدليل يساعد شخصًا آخر، فسيكون ذلك أمرًا رائعًا!
لنفترض أن لدينا علاقة المستخدم/المشاركات، مما يعني أنه يمكن لكل مستخدم أن يكون لديه مشاركة واحدة أو أكثر، وكل مشاركة تنتمي إلى مستخدم.
ما هو المصنع؟
المصنع في Laravel عبارة عن فئة لإنشاء بيانات اختبار لتطبيقك. يعد هذا مفيدًا للتطوير المحلي والبيئات المرحلية، مما يوفر الكثير من الفوائد. يسمح لك Laravel بإنشاء مصنع لكل نموذج لديك.
ما هي البزارات؟
يتم استخدام أدوات البذور في Laravel لملء قاعدة البيانات الخاصة بك بالبيانات باستخدام فئات البذور، وهو أمر مفيد بشكل خاص لأغراض الاختبار.
إنشاء مصانع جديدة
لإنشاء مصنع جديد قم بتشغيل الأمر التالي:
الصناعة الحرفية PHP:مصنع PostFactory
ستجد فئة المصنع الخاصة بك ضمن دليل قاعدة البيانات/المصانع. فيما يلي مثال لتعريف المصنع الخاص بك:
public function definition(): array { return [ 'title' => $this->faker->sentence, 'content' => $this->faker->paragraph, 'user_id' => User::factory(), ]; }
توليد البذر
لإنشاء بذرة جديدة، قم بتشغيل الأمر التالي:
صنع PHP الحرفي: بذارة PostSeeder
ستجد فئة البذارة ضمن دليل قاعدة البيانات/البذرة. فيما يلي مثال لوظيفة التشغيل ضمن هذه الفئة:
public function run(): void { Post::factory() ->count(20) ->create(); }
ستجد في نفس الدليل فئة DatabaseSeeder. تأكد من أنه يشمل جميع البذارات الخاصة بك:
public function run(): void { // \App\Models\User::factory(10)->create(); // \App\Models\User::factory()->create([ // 'name' => 'Test User', // 'email' => '[email protected]', // ]); $this->call([ PostSeeder::class, .., .. ]); }
تشغيل عمليات الترحيل وبذر قاعدة البيانات
أولاً، قم بتشغيل عمليات ترحيل قاعدة البيانات:
ترحيل حرفي PHP
ثم قم بزرع قاعدة البيانات:
PHP الحرفي ديسيبل: البذور
الآن لديك بيانات اختبارية جاهزة. يتمتع!
نشرت في الأصل على مدونتي!
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3