علي العبدالله2 نشر 4 يونيو 2021 أرسل تقرير مشاركة نشر 4 يونيو 2021 كيف يمكنني انشاء بيانات تلقائية داخل بيانات مثال على تطبيق ادارة المهام : عند اضافة مشروع جديد اريد اضافة مهمات تلقائية اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
0 Adnane Kadri نشر 4 يونيو 2021 أرسل تقرير مشاركة نشر 4 يونيو 2021 يمكنك فعل هذا عن طريق مفهومي معمل النماذج Model Factories و بذر البيانات Database seeding . ستحتاج إنشاء معمل نموذج جديد عن طريق الأمر : php artisan make:factory TaskFactory -m Task ثم نحتاج لإستعمال مكتبة faker لتوليد بيانات حقول تلقائية على هذا النحو في ملف TaskFactory.php ضمن التابع definition : return [ 'name' => $this->faker->name, 'email' => $this->faker->unique()->email, 'contact_number' => $this->faker->phoneNumber, ]; سنحتاج أيضا إلى إضافة المعمل إلى ملف البذر DatabaseSeeder.php إلى التابع run : App\Models\Task::factory(10)->create(); ثم أخيرا يمكننا تشغيل أمر البذر : php artisan db:seed كما يمكن تشغيله بعد أمر التهجير على هذا النحو : php artisan migrate:fresh --seed 3 اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
0 سمير عبود نشر 4 يونيو 2021 أرسل تقرير مشاركة نشر 4 يونيو 2021 بعد إنشاء معمل (factory) لكل من النموذجين Project و Task و ملء الحقول الأساسية بالإضافة إلى عمل العلاقات بين النموذجين بإمكانك القيام بالتالي: Project::factory() ->has(Task::factory()->count(10)) ->count(5) ->create(); في الملف DatabaseSeeder مع إستدعاء الكلاسات في الأعلى. ثم تنفيذ امر البذر الذي سيُنشئ 5 مشاريع و لكل مشروع 10 مهمات. 1 اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
0 علي العبدالله2 نشر 5 يونيو 2021 الكاتب أرسل تقرير مشاركة نشر 5 يونيو 2021 شكراً لكم لاكني اريد ان يقوم بالبذر تلقائياً مثلاً اقوم انا بتحديد مهمة عامة وعندما يقوم المستخدم بإنشاء مشروع تلقائيا عند انشاء المشروع يتم انشاء المهمة التي انا وضعتها اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
0 سمير عبود نشر 5 يونيو 2021 أرسل تقرير مشاركة نشر 5 يونيو 2021 بتاريخ 46 دقائق مضت قال علي العبدالله: شكراً لكم لاكني اريد ان يقوم بالبذر تلقائياً مثلاً اقوم انا بتحديد مهمة عامة وعندما يقوم المستخدم بإنشاء مشروع تلقائيا عند انشاء المشروع يتم انشاء المهمة التي انا وضعتها هناك عدة طرق للقيام بالأمر: في المتحكم ProjectController عند إنشائك للمشروع في التابع store تستقبل غرض المشروع في متغير و تُنشئ مهمة عامة لهذا المشروع و بهذا الشكل يُصبح عند إنشاء أي مشروع تُنشأ له مهمة عامة: <?php public function store(Request $request) { // ... $project = Project::create($data); $project->tasks()->create(['body' => "مهمة عامة"]); // .. } في النموذج Project تُعيد تعريف الدالة boot ثم تقوم بالتسمع على حدث created بهذا الشكل: <?php protected static function boot() { parent::boot(); static::created(function (Project $project) { $project->tasks()->create(['body' => "مهمة عامة"]); }); } الآن عند إنشاء مشروع تلقائياً يتم إنشاء مهمة له و ستأخذ المهمة في الحقل body مهمة عامة. يُمكن عمل الموضوع بإستعمال المُراقبات (observers)، يُمكن أيضاً عمل الأمر بإستعمال الأحداث (events) و المُتسمعات (listeners) أدعوك للإطلاع على هاذين الأمر و عمل ما تريد القيام به بإستعمال هاتين الطريقتين للتوسع أكثر و التمرن. 2 اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
0 علي العبدالله2 نشر 5 يونيو 2021 الكاتب أرسل تقرير مشاركة نشر 5 يونيو 2021 بتاريخ 2 دقائق مضت قال عبود سمير: هناك عدة طرق للقيام بالأمر: في المتحكم ProjectController عند إنشائك للمشروع في التابع store تستقبل غرض المشروع في متغير و تُنشئ مهمة عامة لهذا المشروع و بهذا الشكل يُصبح عند إنشاء أي مشروع تُنشأ له مهمة عامة: <?php public function store(Request $request) { // ... $project = Project::create($data); $project->tasks()->create(['body' => "مهمة عامة"]); // .. } في النموذج Project تُعيد تعريف الدالة boot ثم تقوم بالتسمع على حدث created بهذا الشكل: <?php protected static function boot() { parent::boot(); static::created(function (Project $project) { $project->tasks()->create(['body' => "مهمة عامة"]); }); } الآن عند إنشاء مشروع تلقائياً يتم إنشاء مهمة له و ستأخذ المهمة في الحقل body مهمة عامة. يُمكن عمل الموضوع بإستعمال المُراقبات (observers)، يُمكن أيضاً عمل الأمر بإستعمال الأحداث (events) و المُتسمعات (listeners) أدعوك للإطلاع على هاذين الأمر و عمل ما تريد القيام به بإستعمال هاتين الطريقتين للتوسع أكثر و التمرن. هل يمكن تحديد عدد مثلا اريد انشاء 5 هل يعمل عليه count(5) او اقوم بتكرار الامر اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
0 سمير عبود نشر 5 يونيو 2021 أرسل تقرير مشاركة نشر 5 يونيو 2021 بتاريخ الآن قال علي العبدالله: هل يمكن تحديد عدد مثلا اريد انشاء 5 هل يعمل عليه count(5) او اقوم بتكرار الامر نعم بإمكانك بدل إنشاء مهمة واحدة إستخدام المعمل (factory) و إنشاء الكم الذي تريده، اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
0 علي العبدالله2 نشر 5 يونيو 2021 الكاتب أرسل تقرير مشاركة نشر 5 يونيو 2021 (معدل) SQLSTATE[HY000]: General error: 1364 Field 'task' doesn't have a default value (SQL: insert into `tasks` (`project_id`, `updated_at`, `created_at`) values (13, 2021-06-05 12:01:11, 2021-06-05 12:01:11)) تم التعديل في 5 يونيو 2021 بواسطة علي العبدالله اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
0 سمير عبود نشر 5 يونيو 2021 أرسل تقرير مشاركة نشر 5 يونيو 2021 بتاريخ 15 دقائق مضت قال علي العبدالله: SQLSTATE[HY000]: General error: 1364 Field 'task' doesn't have a default value (SQL: insert into `tasks` (`project_id`, `updated_at`, `created_at`) values (13, 2021-06-05 12:01:11, 2021-06-05 12:01:11)) قم بتغيير الحقل من body للحقل الموافق لديك. أعتقد أنه task حسب رسالة الخطأ اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
0 علي العبدالله2 نشر 5 يونيو 2021 الكاتب أرسل تقرير مشاركة نشر 5 يونيو 2021 بتاريخ 3 دقائق مضت قال عبود سمير: قم بتغيير الحقل من body للحقل الموافق لديك. أعتقد أنه task حسب رسالة الخطأ لازالت المشكلة اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
0 سمير عبود نشر 5 يونيو 2021 أرسل تقرير مشاركة نشر 5 يونيو 2021 بتاريخ 6 دقائق مضت قال علي العبدالله: لازالت المشكلة هل بإمكانك توضيح ما تقوم به و ماهي المشكلة الآن. اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
السؤال
علي العبدالله2
كيف يمكنني انشاء بيانات تلقائية داخل بيانات
مثال على تطبيق ادارة المهام :
عند اضافة مشروع جديد اريد اضافة مهمات تلقائية
رابط هذا التعليق
شارك على الشبكات الإجتماعية
10 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.