لوحة المتصدرين
المحتوى الأكثر حصولًا على سمعة جيدة
المحتوى الأعلى تقييمًا في 04/23/23 in أجوبة
-
كيف اضيف الخدمة للمشاريع المطلوبه علما لاكثر من خمس مشاريع رفضت من قبلكم2 نقاط
-
السلام عليكم اريد ان ادخل مجال ال AI ولكن لا اعرف من اين ابدا ومن اين أتعلم ذلك مع المشاريع فقد اعجبني جدا هذا المجال والروبوتات وبرمجتها وهل يوجد في أكاديمية حسوب مسار كامل لهذا المجال1 نقطة
-
ما هو السن المطلوب لهذه الدورات وهل هي تصلح للاطفال من سن ١١ سنه1 نقطة
-
اوجه مشكله عندى الاستدعى بيانات من فاعده البيانات تظهر لي مجوعه من الاخطاء معا اني مستخدم نفس صيغه الكود عند الحذف وتنفذ معي دون وجود اي اخطاء الكود في الملف اتمنا تساعدونا يا اخواني في الله انا مبتدى null.pages1 نقطة
-
1 نقطة
-
flutter : هل ال await تقوم بإيقاف البرنامج بالكامل يعني هل لما اكتب await رح يوقف البرنامج بالكامل حتى يتم تنفيذ الامر ولا انه لا يتوقف البرنامج ويكمل عادي و خلال عمله يتم تنفيذ ال await وشكرا و اعتذر عن عدم و ضوح السؤال و العنوان1 نقطة
-
تحيه طيبه للجميع انا جديد على الفايربيز وحسب الذي فهمته انني لا استطيع استعمل 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 نقطة
-
حاول تنفيذ التالي : استخدام قيمة مشتركة بين الجدولين (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 نقطة
-
قمت بتعديل الكود لك ليصبح مختصرًا أكثر ويحصل على نفس البيانات بشكل أكثر فعالية، وتستطيع استخدام الدالة "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 نقطة
-
اهلا اخي الكريم شاكر لك ردك اخي العزيز توجد مشكلة أخي انا ليس لدي حقل في قاعدة البيانات اسمه time كيف يمكن تعريف هذا المتغير؟1 نقطة
-
حاول تجربة الحل التالي: استخدم الحقل الفريد في جدول الـ "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 نقطة