اذهب إلى المحتوى
  • 0

إعادة تشكيل و حشو البيانات في لارافل عند عمل migration

Mohammed Abu Yousef

السؤال

أريد عند عمل migration يتم إنشاء هذا الجدول بجميع القسم الموجودة فيه كما يظهر في الصورة، حتى أضطر لإدخال القيم يدويا كل مرة

Screenshot 2021-04-07 205523.png

تم التعديل في بواسطة Wael Aljamal
توضيح السؤال
رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 1

يمكنك فعل ذلك عن طريق Seeder بحيث عند عمل migrations يتم تخزين بيانات الأختبار المخزنة في Seeder في هذا الجدول كما التالي 

يمكنك إنشاء Seeder باستخدام هذا الأمر 

php artisan make:seeder UserSeeder

ثم في المسار التالي تجد الملف 

your_project\database\seeds

ثم بداخل الملف تضع التالي 

user = \App\User::create([
'username' => 'Osama',
'email' => 'a@a.com',
'password' => bcrypt('123123123'),
'phone' => '123123123',
'city' => 'الرياض',
'is_active' => 1,
'code' => substr(md5(uniqid(mt_rand(), true)) , 0, 8),
]);

ثم في ملف DatabaseSeeder.php تضع التالي 

$this->call(UserTableSeeder::class);

هو الكلاس الذي أنشات الملف عن طريق الأمر المذكور سابقاً. ثم قم بتنفيذ الأمر التالي 

php artisan db:seed

php artisan db:seed --class=UserSeeder

أو عمل إعادة زرع لجميع الجداول مع تخزين بيانات الأختبار باستخدام الأمر التالي 

php artisan migrate:fresh --seed

يمكنك مراجعة التوثيق الخاص بموقع لارافل من هنا.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 1
بتاريخ 5 ساعات قال Mohammed Abu Yousef:

كن كيف أقدر أضيف أكتر من مستخدم؟

يمكن ذلك من خلال استخدام الدالة insert في حال لم تكن مهتم ب timestamp بالشكل التالي:

class UserTableSeeder extends Seeder {

  public function run()
  {
    DB::table('users')->delete();

    $users = [
        ['id' => 1, 'name' => 'Stephan de Vries', 'username' => 'stephan', 'email' => 'stephan-v@gmail.com', 'password' => bcrypt('carrotz124')],
        ['id' => 2, 'name' => 'John doe', 'username' => 'johnny', 'email' => 'johndoe@gmail.com', 'password' => bcrypt('carrotz1243')],
    ];

    User::insert($users);
  }

}

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

 

user = \App\User::create([
'username' => 'Osama',
'email' => 'a@a.com',
'password' => bcrypt('123123123'),
'phone' => '123123123',
'city' => 'الرياض',
'is_active' => 1,
'code' => substr(md5(uniqid(mt_rand(), true)) , 0, 8),
]);

تمام ي غالي، اشتغل، لكن كيف أقدر أضيف أقدر من مستخدم؟

تعديل / كررتها واشتغلت، بس كان قصدي بدون ما أكرر دالة create أكثر من مرة، بس خلاص مش إشكال، مشكور

تم التعديل في بواسطة Mohammed Abu Yousef
رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...