ابراهيم الخليل سماني نشر 13 يناير 2023 أرسل تقرير نشر 13 يناير 2023 السلام عليكم جمعتكم مباركة إن شاء الله اريد ان ارسل بيانات باشكل التالي : Number::create($this->numbers2 , ['form_id' => $this->form->id] ); Number::create($this->numbers3 , ['form_id' => $this->form->id] ); Number::create($this->numbers4 , ['form_id' => $this->form->id] ); Number::create($this->numbers5 , ['form_id' => $this->form->id] ); Number::create($this->numbers6 , ['form_id' => $this->form->id] ); Number::create($this->numbers7 , ['form_id' => $this->form->id] ); أوما يؤدي نفس الغرض بحيث إن $this->numbers عبارةعن مصفوفات كالتالي : public $numbers6 = [ 'N_Name' => '', 'I_Number_N' =>'', 'mobile' => '' ,'phone' => '' , 'Nationality' => null , 'N_Email' => '' , ]; يتم تخزيين القيم فيها بواسطة livewire wire:model أما form_id ينتج عن عملية ارسال لقاعدة البيانات وقمت بتخزينه على عنصر عام لأنني لم اجد طريقة اخرى public function create(){ $this->form = Form::create( $this->data); } مارأيكم هكذا ؟ public function createNumber(){ $this->numbers1['form_id'] = $this->form->id; $this->numbers2['form_id'] = $this->form->id; $this->numbers3['form_id'] = $this->form->id; $this->numbers4['form_id'] = $this->form->id; $this->numbers5['form_id'] = $this->form->id; $this->numbers6['form_id'] = $this->form->id; $this->numbers7['form_id'] = $this->form->id; Number::create($this->numbers1 ); Number::create($this->numbers2 ); Number::create($this->numbers3 ); Number::create($this->numbers4 ); Number::create($this->numbers5 ); Number::create($this->numbers6 ); Number::create($this->numbers7 ); $this->isSave2 = true; } اقتباس
0 Mustafa Suleiman نشر 19 فبراير 2023 أرسل تقرير نشر 19 فبراير 2023 يمكن تحسين الكود بحيث يتم إضافة form_id بشكل أتوماتيكي في دالة Number::create دون الحاجة إلى تحديده في كل مرة. يمكنك استخدام دالة collection map للقيام بذلك. يمكنك استخدام هذا الكود: public function createNumber(){ $numbers = collect([$this->numbers1, $this->numbers2, $this->numbers3, $this->numbers4, $this->numbers5, $this->numbers6, $this->numbers7]); $numbers = $numbers->map(function($number) { return array_merge($number, ['form_id' => $this->form->id]); }); Number::insert($numbers->toArray()); $this->isSave2 = true; } في هذا الكود ، قمت بإنشاء مجموعة من الأرقام باستخدام الدالة collect وقمت بإضافة مفتاح form_id في كل عنصر باستخدام دالة map. ثم استخدمت دالة insert لإدخال المجموعة بأكملها في قاعدة البيانات. اقتباس
السؤال
ابراهيم الخليل سماني
السلام عليكم جمعتكم مباركة إن شاء الله
اريد ان ارسل بيانات باشكل التالي :
Number::create($this->numbers2 , ['form_id' => $this->form->id] ); Number::create($this->numbers3 , ['form_id' => $this->form->id] ); Number::create($this->numbers4 , ['form_id' => $this->form->id] ); Number::create($this->numbers5 , ['form_id' => $this->form->id] ); Number::create($this->numbers6 , ['form_id' => $this->form->id] ); Number::create($this->numbers7 , ['form_id' => $this->form->id] );
أوما يؤدي نفس الغرض بحيث إن $this->numbers عبارةعن مصفوفات كالتالي :
يتم تخزيين القيم فيها بواسطة livewire wire:model
أما form_id ينتج عن عملية ارسال لقاعدة البيانات وقمت بتخزينه على عنصر عام لأنني لم اجد طريقة اخرى
public function create(){ $this->form = Form::create( $this->data); }
مارأيكم هكذا ؟
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.