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

حل مشكلة Array to string conversion في لارافيل

Hanan Fahad2

السؤال


        Schema::create('materials', function (Blueprint $table) {
            $table->id();
            $table->string("MaterialName");
            $table->foreignId('categories_id')->constrained('categories');
            $table->foreignId('Unit_id')->constrained('units');
            $table->float("pricebuy");
            $table->float("prices sale");

            $table->timestamps();
        });
   $MaterialName = $request->MaterialName  ;
        $categories_id = $request->categories_id  ;
        $Unit_id =$request->Units   ;
        $pricebuy =$request->pricebuy ;
        $prices_sale =	$request->prices_sale   ;
        
                
        Materials::create( [ "MaterialName"=> $MaterialName 
        ,"categories_id" =>$categories_id   ,
            "Unit_id" =>   $Unit_id  ,
            "pricebuy" => $pricebuy ,
            "prices_sale"=> $prices_sale 
        
        ] );

ابغا ادخل الحقول بالقاعدة وهي عبارة عن مصفوفه 

categories_id

 "Unit_id" 

كيف ادخلهم رافض معي 

يطلع لي 

Array to string conversion

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

Recommended Posts

  • 0
  <form class="card" action="{{route("Materials.store")}}" method="POST">
        @csrf
        <div class="card-header">
            <h3 class="card-title">Suppliers </h3>
        </div>
        <div class="card-body">
            <div class="row">
                <div class="col-md-12">
                    <div class="form-group">
                        <label>Material Name</label>
                        <input class="form-control " type="text" placeholder="" name="MaterialName">
                    </div>
                  
                    <div class="form-group">
                        <label>Purchasing price </label>
                        <input class="form-control " type="number" placeholder="" name="pricebuy">
                    </div>
                    
                <div class="form-group">
                    <label>selling price	 </label>
                    <input class="form-control " type="number" placeholder="" name="prices sale	">
                </div>
                    <div class="form-group">
                        <label>Categories </label>
                        
                        <select multiple class="form-control select2bs4 select2-hidden-accessible" style="width: 100%;"  aria-hidden="true" name="categories_id[]">
                            @foreach($Categories as $Categories )
                              
                            <option value="  {{$Categories->id }}">  {{$Categories->CategoryName }}</option>
                            @endforeach
                        </select>
                    </div>
                    <div class="form-group">
                        <label>Units </label>
                        <select multiple class="form-control select2bs4 select2-hidden-accessible" style="width: 100%;"  aria-hidden="true" name="Units[]">
                            @foreach($Units as $Units )
                                
                            <option value="  {{$Units->id }}">  {{$Units->UnitName }}</option>
                            @endforeach
                        </select>
                    </div>
                    <button type="submit" class="btn btn-success col fileinput-button dz-clickable">
                        <i class="fas fa-plus"></i>
                        <span>Add </span>
                    </button>
                    
                </div>
             
            </div>

        </div>
    </form>

 

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

  • 0
بتاريخ 4 دقائق مضت قال hanan fahad11:

  <form class="card" action="{{route("Materials.store")}}" method="POST">
        @csrf
        <div class="card-header">
            <h3 class="card-title">Suppliers </h3>
        </div>
        <div class="card-body">
            <div class="row">
                <div class="col-md-12">
                    <div class="form-group">
                        <label>Material Name</label>
                        <input class="form-control " type="text" placeholder="" name="MaterialName">
                    </div>
                  
                    <div class="form-group">
                        <label>Purchasing price </label>
                        <input class="form-control " type="number" placeholder="" name="pricebuy">
                    </div>
                    
                <div class="form-group">
                    <label>selling price	 </label>
                    <input class="form-control " type="number" placeholder="" name="prices sale	">
                </div>
                    <div class="form-group">
                        <label>Categories </label>
                        
                        <select multiple class="form-control select2bs4 select2-hidden-accessible" style="width: 100%;"  aria-hidden="true" name="categories_id[]">
                            @foreach($Categories as $Categories )
                              
                            <option value="  {{$Categories->id }}">  {{$Categories->CategoryName }}</option>
                            @endforeach
                        </select>
                    </div>
                    <div class="form-group">
                        <label>Units </label>
                        <select multiple class="form-control select2bs4 select2-hidden-accessible" style="width: 100%;"  aria-hidden="true" name="Units[]">
                            @foreach($Units as $Units )
                                
                            <option value="  {{$Units->id }}">  {{$Units->UnitName }}</option>
                            @endforeach
                        </select>
                    </div>
                    <button type="submit" class="btn btn-success col fileinput-button dz-clickable">
                        <i class="fas fa-plus"></i>
                        <span>Add </span>
                    </button>
                    
                </div>
             
            </div>

        </div>
    </form>

 

لاحظي أن اسم الحقل الخاص Units عبارة عن مصفوفة , أنتي تحاولين تخزين مصفوقة في الحقل Unit_id وهو على الأغلب من نوع int وهذا سبب المشكلة
ما نوع العلاقة بين الجدولين units و Materials؟

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

  • 0

طالما أن العديد من Materials سوف ينتمي الى العديد من units فمن المفترض ان تكون العلاقة many to many  ويكون هناك جدول وسيط بين الجدولين باسم material_unit وتقومين بانشاء العلاقات كالتالي

في جدول unit 
    public function materials(){
        return $this->belongsToMany(Unit::class);
    }

في جدول materials

    public function units(){
        return $this->belongsToMany(Materials::class);
    }

ثم سوف تقومين بتعديل جدول Materials وتقومين بحذف الحقل unit_id , ثم عند تخزين البيانات تقومين باستخدام التابع 

$matrtial=Materials::create( [ "MaterialName"=> $MaterialName 
        ,"categories_id" =>$categories_id   ,
            "pricebuy" => $pricebuy ,
            "prices_sale"=> $prices_sale 
        
        ] );

$matrtial->units()->sync($request->units);

وبهذا سوف يتم تخزين الوحدات المرتبطة بالمواد في الجدول الوسيط بينهم , ويمكنك الحصول على الوحدات الخاصة ب material معين كالتالي

$material->units()

أو يمكنك استخدام التابع with لتحميل البيانات بشكل مسبق كالتالي

Materials::with(['units'])->get();

ويمكنك تمرير ال materials التي تم الحصول عليها الى اي ملف عرض تريديه وسوف يكون مع كل material ال units الخاصة به 

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

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

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

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

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

  • إعلانات

  • تابعنا على



×
×
  • أضف...