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

السؤال

نشر

السلام عليكم  جمعتكم مباركة إن شاء الله

اريد ان ارسل بيانات باشكل التالي :

    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;

    }

 

Recommended Posts

  • 0
نشر

يمكن تحسين الكود بحيث يتم إضافة 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 لإدخال المجموعة بأكملها في قاعدة البيانات.

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...