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

السؤال

نشر

في هذا السؤال سأستعين بمثال عايشته على أرض الواقع في أحد مشاريعي 

كتدريب قمت بإنشاء نظام فوترة إلكتروني بسيط يحتوي هذا النظام على مؤسسات يقوم بإنشائها المستخدم مدير النظام ثم من خلال هذه الشركات يتمكن من إصدار فاتورة في مرحله إصدار الفاتورة أرغب بجلب العديد من المعلومات بواسطة ajax jq أولى هذه المعلومات هي بيانات الشركة من خلال القائمة المنسدلة اختار اسم الشركة المقصودة فأتيني عنوانها ورقم تلفيوناتها وغيرها من المعلومات أيضا هذه الشركة لديها أصناف لمنتجاتها فأريد أن يرسل مع الطلب جميع الاصناف في قائمة منسدلة ثم بالضغط على الصنف احصل على المنتج ومعلومات المنتج 

العلاقة بن الصنف والشركة متعدد إلى متعدد 

العلاقة بين الصنف و المنتج متعدد إلى متعدد 

يرجع سبب عدم قدرتي على جلب المعلومات إلى سببين الاول عدم فهمي لطريقة عمل كود ajax jq فأنا لا أعرف منطقة جلب المعلومات من الطلب كيف تعمل  والشق الثاني لا أعرف كيف أقوم بدمج المعلومات القادمة من الطلب في الحقول 

أرجو شرح كيف تعمل ajax  jq داخل laravel 

كيف أقوم بجلب علاقات مثل (متعدد إلى متعدد|متعدد إلى واحد)

وشكرا للجميع 

Recommended Posts

  • 0
نشر

يمكنك تمرير البيانات ضمن طلب GET من خلال query parameters أو POST من خلال ajax ضمن الحقل data:

$.ajax({
  url: "/companies", // العنوان
  type: "get", // نوع الطلب
  data: { 
    variable: 'value', 
    companyId: CompanyId, 
    companyName: name,
    .....
  },
  success: function(response) {
    
  },
  error: function(xhr) {
    
  }
});

من جهة الخادم، يوجد عدّة طرق للوصول للبيانات من خلال الطلب request نفسه:

public function ajaxRequest(Request $request)
    {
        $input = $request->all();
        Log::info($input);
        return response()->json(['success'=>'تم استلام البيانات بنجاح']);
    }

أما بالنسبة للعلاقات many to many، فأقترح عليك قراءة التوثيق الرسمي في لارافيل فالأمثلة كثيرة ويمكنك الاستفادة منها وتجربتها بنفسك، مثال عن جلب البيانات بهذا النوع من العلاقات:

$companies = Company::whereHas('owners', function($q) use($ownerIds) {
    $q->whereIn('id', $ownerIds);
})->get();

حيث يتم حقن قائمة بمعرّفات id لحسابات من جدول ما، مع جدول آخر بقاعدة البيانات يدعى Company ويتم المرور على السجلات والتأكد من علاقة الربط من خلال ID.

ربما إن شاركت نسخة لارافل التي تستخدمها مع بنية قاعدة البيانات لديك وأجزاء من الشيفرات البرمجية لمشروعك والبيانات التي تريد الاستعلام عنها سنتمكن من إعطائك أمثلة أدق.

  • 0
نشر

شكرا جزيلا على الإجابة السابقة 

قمت بجلب البيانات بطريقه تشابه ما هو موجود أعلاه وبقيت بعض الميزات التي لم لا أعرف كيف أقوم بإدراجاها في التطبيق قمت بشرحها على المسار التالي 

invoice-generator/invoice/create

في المشروع أدناه 

https://github.com/thankyouplatfo/invoice-generator.git

تكمن المشكلة عندي الان في ملئ اوسمة html بالنتائج التي حصلت علىيها إذا كانت الوسم (في حالتي select) يتطلب حلقة 

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

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

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

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

  • إعلانات

  • تابعنا على



×
×
  • أضف...