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

لوحة المتصدرين

  1. Mustafa Suleiman

    Mustafa Suleiman

    الأعضاء


    • نقاط

      3

    • المساهمات

      19010


  2. Abduladeem Almudafar2

    Abduladeem Almudafar2

    الأعضاء


    • نقاط

      2

    • المساهمات

      2


  3. Flutter Dev

    Flutter Dev

    الأعضاء


    • نقاط

      2

    • المساهمات

      787


  4. Abdelhalem Abdellatef

    Abdelhalem Abdellatef

    الأعضاء


    • نقاط

      1

    • المساهمات

      1


المحتوى الأكثر حصولًا على سمعة جيدة

المحتوى الأعلى تقييمًا في 04/23/23 in أجوبة

  1. كيف اضيف الخدمة للمشاريع المطلوبه علما لاكثر من خمس مشاريع رفضت من قبلكم
    2 نقاط
  2. السلام عليكم اريد ان ادخل مجال ال AI ولكن لا اعرف من اين ابدا ومن اين أتعلم ذلك مع المشاريع فقد اعجبني جدا هذا المجال والروبوتات وبرمجتها وهل يوجد في أكاديمية حسوب مسار كامل لهذا المجال
    1 نقطة
  3. ما هو السن المطلوب لهذه الدورات وهل هي تصلح للاطفال من سن ١١ سنه
    1 نقطة
  4. اوجه مشكله عندى الاستدعى بيانات من فاعده البيانات تظهر لي مجوعه من الاخطاء معا اني مستخدم نفس صيغه الكود عند الحذف وتنفذ معي دون وجود اي اخطاء الكود في الملف اتمنا تساعدونا يا اخواني في الله انا مبتدى null.pages
    1 نقطة
  5. السلام عليكم ورحمة الله وبركاته لدي اشكاليه عند عملية req.post تتكرر مرتين العلمية في السيرفر مع العلم انها من المفرض انها يجب ان لا تتكرر الا مره واحده لا ادري أين المشكله وجزاكم الله خيرا
    1 نقطة
  6. flutter : هل ال await تقوم بإيقاف البرنامج بالكامل يعني هل لما اكتب await رح يوقف البرنامج بالكامل حتى يتم تنفيذ الامر ولا انه لا يتوقف البرنامج ويكمل عادي و خلال عمله يتم تنفيذ ال await وشكرا و اعتذر عن عدم و ضوح السؤال و العنوان
    1 نقطة
  7. تحيه طيبه للجميع انا جديد على الفايربيز وحسب الذي فهمته انني لا استطيع استعمل left join في الفايربيز عكس قواعد mysql والان أحاول ان احصل على بعض البيانات من جداول مختلفة بطريقة تكون قريبه من left join قمت بعمل هذا الكود: Future<void> _fetchData() async { final FirebaseFirestore firestore = FirebaseFirestore.instance; // Fetch the first query snapshot and extract the value of 'TopicState' final QuerySnapshot topicsSnapshot = await firestore .collection('topics') .where('id', isEqualTo: widget.PostID) .get(); final int topicState = topicsSnapshot.docs.isNotEmpty ? topicsSnapshot.docs.first.get('Id_Sub_Category') : null; final QuerySnapshot subCategorySnapshot = await firestore.collection('Sub_Category').where('idSubCat', isEqualTo: topicState).get(); final List<FullListWomanModel> data = []; if (topicsSnapshot.docs.isNotEmpty) { data.addAll(topicsSnapshot.docs.map((doc) => FullListWomanModel.fromJson(doc.data() as Map<String, dynamic>)).toList()); } if (subCategorySnapshot.docs.isNotEmpty) { data.addAll(subCategorySnapshot.docs.map((doc) => FullListWomanModel.fromJson(doc.data() as Map<String, dynamic>)).toList()); } setState(() { _ListDataDisplay = data; }); } الهدف منه هو الاستعلام من الجدول الأساسي وهو جدول topics ثم الحقول التي تحتوي على ارقام فريدة لجداول مختلفة احصل على بياناتها ايضا الكود يعمل ولكن مشكلتي الان انني احصل على قائمتين في وقت تشغيل الكود بمعنى كل collection في الأعلى يعمل ك قائمة منفصلة ولا يتم دمج بياناتهما كيف احصل على قائمة واحد بتفاصيل collection الأول وثاني مدموجة كيف يمكن حل هذا المشكلة لمن لديه خبره في الامر؟ ولكم جزيل الشكر
    1 نقطة
  8. حاول تنفيذ التالي : استخدام قيمة مشتركة بين الجدولين (idSubCat) لدمج البيانات في القائمة، بعد دمج البيانات ، وإضافة القائمة المدموجة إلى القائمة الرئيسية التي تحتوي على جميع البيانات. Future < void > _fetchData() async { final FirebaseFirestore firestore = FirebaseFirestore.instance; final QuerySnapshot subCategorySnapshot = await firestore .collection('Sub_Category') .where('idSubCat', isEqualTo: (await firestore .collection('topics') .where('id', isEqualTo: widget.PostID) .get()) .docs .first .get('Id_Sub_Category')) .get(); final List < FullListWomanModel > data = []; if (subCategorySnapshot.docs.isNotEmpty) { final List < FullListWomanModel > subCategories = subCategorySnapshot.docs .map((doc) => FullListWomanModel.fromJson(doc.data() as Map < String, dynamic > )) .toList(); data.addAll(subCategories); } final QuerySnapshot topicsSnapshot = await firestore .collection('topics') .where('id', isEqualTo: widget.PostID) .get(); if (topicsSnapshot.docs.isNotEmpty) { final List < FullListWomanModel > topics = topicsSnapshot.docs .map((doc) => FullListWomanModel.fromJson(doc.data() as Map < String, dynamic > )) .toList(); // Merge the two lists based on a common field final Map < int, FullListWomanModel > mergedData = {}; for (final topic in topics) { mergedData[topic.id] = topic; } for (final subCategory in subCategories) { mergedData[subCategory.idSubCat] = subCategory; } final List < FullListWomanModel > mergedList = mergedData.values.toList(); data.addAll(mergedList); } setState(() { _ListDataDisplay = data; }); }
    1 نقطة
  9. قمت بتعديل الكود لك ليصبح مختصرًا أكثر ويحصل على نفس البيانات بشكل أكثر فعالية، وتستطيع استخدام الدالة "sort" بعد ذلك إذا رغبت في فرز البيانات. Future<void> _fetchData() async { final FirebaseFirestore firestore = FirebaseFirestore.instance; final QuerySnapshot subCategorySnapshot = await firestore .collection('Sub_Category') .where('idSubCat', isEqualTo: (await firestore .collection('topics') .where('id', isEqualTo: widget.PostID) .get()) .docs .first .get('Id_Sub_Category')) .get(); final List<FullListWomanModel> data = []; if (subCategorySnapshot.docs.isNotEmpty) { final List<FullListWomanModel> subCategories = subCategorySnapshot.docs .map((doc) => FullListWomanModel.fromJson(doc.data() as Map<String, dynamic>)) .toList(); data.addAll(subCategories); } setState(() { _ListDataDisplay = data; }); } وإليك شرح مختصر، الكود يستخدم Firebase للاستعلام عن بيانات من جداول مختلفة ودمجها في مصفوفة واحدة. وذلك من خلال استخدام الحقل الفريد في جدول الـ "topics" للوصول إلى جدول الـ "Sub_Category" باستخدام دالة الـ "join" ، ثم جمع البيانات التي تحتاجها في مصفوفة واحدة باستخدام الدالة "addAll". وتستطيع الاستغناء عن sort فأنت لست بحاجة إليها بالنسبة لسؤالك.
    1 نقطة
  10. اهلا اخي الكريم شاكر لك ردك اخي العزيز توجد مشكلة أخي انا ليس لدي حقل في قاعدة البيانات اسمه time كيف يمكن تعريف هذا المتغير؟
    1 نقطة
  11. حاول تجربة الحل التالي: استخدم الحقل الفريد في جدول الـ "topics" للوصول إلى جدول الـ "Sub_Category" ، وذلك باستخدام دالة الـ "join". اجمع البيانات التي تحتاجها في مصفوفة واحدة باستخدام الدالة "addAll" كما هو موضح في الكود الحالي الخاص بك. ثم، تستطيع استخدام الدالة "sort" لفرز المصفوفة بناءً على الوقت الذي تم الحصول عليه من كل جدول. ليصبح الكود بعد التعديل كالتالي: Future<void> _fetchData() async { final FirebaseFirestore firestore = FirebaseFirestore.instance; final QuerySnapshot topicsSnapshot = await firestore .collection('topics') .where('id', isEqualTo: widget.PostID) .get(); final int topicState = topicsSnapshot.docs.isNotEmpty ? topicsSnapshot.docs.first.get('Id_Sub_Category') : null; final QuerySnapshot subCategorySnapshot = await firestore .collection('Sub_Category') .where('idSubCat', isEqualTo: topicState) .get(); final List<FullListWomanModel> data = []; // 1. دمج الجدولين بإستخدام join if (topicsSnapshot.docs.isNotEmpty && subCategorySnapshot.docs.isNotEmpty) { final List<QuerySnapshot> snapshots = await Future.wait([ firestore.collection('topics').where('id', isEqualTo: widget.PostID).get(), firestore .collection('Sub_Category') .where('idSubCat', isEqualTo: topicState) .get(), ]); final List<FullListWomanModel> topics = snapshots[0].docs.map((doc) => FullListWomanModel.fromJson(doc.data() as Map<String, dynamic>)).toList(); final List<FullListWomanModel> subCategories = snapshots[1].docs.map((doc) => FullListWomanModel.fromJson(doc.data() as Map<String, dynamic>)).toList(); // 2. إضافة البيانات إلى مصفوفة واحدة باستخدام addAll data.addAll(topics); data.addAll(subCategories); // 3. فرز المصفوفة بناءً على الوقت الذي تم الحصول عليه من كل جدول data.sort((a, b) => b.time.compareTo(a.time)); } setState(() { _ListDataDisplay = data; }); }
    1 نقطة
×
×
  • أضف...