Mohamed Lamin Mahmoudi نشر 6 يونيو 2022 أرسل تقرير نشر 6 يونيو 2022 أنشأت علاقة واحد لأكثر بين الحصة والأستاذ وبعد إنشائي للحصة ألاحظ ظهورها في جدول الحصص لكن لاتظهر في الجدول الجديد الذي يحوي العلاقة بين الاستاذ والحصة لماذا ؟؟ ملف الحصة import Sequelize from 'sequelize'; const room =(sequelize,DataTypes)=>{ const Room =sequelize.define('room',{ Numberofroom:{ type:DataTypes.STRING, }, NameOfroom:{ type:DataTypes.STRING, }, QrCode:{ type:DataTypes.STRING, unique:true, }, date:{ type:DataTypes.DATE, } }); Room.associate = (models) => { Room.belongsToMany(models.User, { through: "ListClass" }); Room.belongsTo(models.Profile,{foreignKey: 'Lista'}); }; return Room; } export default room; ملف المستخدم من نوع أستاذ import Sequelize from 'sequelize'; const profile=(sequelize,DataTypes)=>{ const Profile = sequelize.define('profile',{ phone:{ type:DataTypes.INTEGER, }, university:{ type:DataTypes.STRING, }, country:{ type:DataTypes.STRING } }); Profile.associate=models=>{ Profile.belongsTo(models.User); Profile.hasMany(models.Room,{foreignKey: 'Lista'}); } return Profile; } export default profile; 1 اقتباس
0 شرف الدين حفني نشر 6 يونيو 2022 أرسل تقرير نشر 6 يونيو 2022 هل يمكنك إرفاق صورة توضح أسامي الجداول الموجودة لديك كلها؟ 1 اقتباس
0 Mohamed Lamin Mahmoudi نشر 6 يونيو 2022 الكاتب أرسل تقرير نشر 6 يونيو 2022 بتاريخ On 6/6/2022 at 14:16 قال شرف الدين2: هل يمكنك إرفاق صورة توضح أسامي الجداول الموجودة لديك كلها؟ أظهر المزيد بعض الجدوال لاأعمل بها جربت طريقة ثانية في ربط علاقة one to many بين النموذج profile وroom لكن لايظهر لي المعرف الخاص بprofile في النموذج room Profile.hasMany(models.Room); Room.belongsTo(models.Profile) 1 اقتباس
0 شرف الدين حفني نشر 6 يونيو 2022 أرسل تقرير نشر 6 يونيو 2022 بتاريخ On 6/6/2022 at 17:41 قال Mohamed Lamin Mahmoudi: بعض الجدوال لاأعمل بها جربت طريقة ثانية في ربط علاقة one to many بين النموذج profile وroom لكن لايظهر لي المعرف الخاص بprofile في النموذج room Profile.hasMany(models.Room); Room.belongsTo(models.Profile) أظهر المزيد لقد قمت بإنشاء علاقة واحد إلى كثير بين room و profile وظهر مفتاح العلاقة في الجدول room لأن الطبيعي أن مفتاح العلاقة يظهر في جدول الواحد ولا يظهر في جدول الكثير ومن ثم قمت بإنشاء علاقة كثير إلى كثير بين الجدولين Room و users وقد تم إنشاء جدول ثالث ليحتوي العلاقة وقمت بتسميته بListClass وأرى في الصورة أن كل شئ يعمل بشكلٍ سليم , تقول أن الجدول الجديد الذي يحمل العلاقة بين user و Room لا يظهر فيه العلاقة , فهل يمكنك تصوير الجدول من الداخل؟ 1 اقتباس
0 Mohamed Lamin Mahmoudi نشر 6 يونيو 2022 الكاتب أرسل تقرير نشر 6 يونيو 2022 بتاريخ On 6/6/2022 at 17:47 قال شرف الدين2: لقد قمت بإنشاء علاقة واحد إلى كثير بين room و profile وظهر مفتاح العلاقة في الجدول room لأن الطبيعي أن مفتاح العلاقة يظهر في جدول الواحد ولا يظهر في جدول الكثير ومن ثم قمت بإنشاء علاقة كثير إلى كثير بين الجدولين Room و users وقد تم إنشاء جدول ثالث ليحتوي العلاقة وقمت بتسميته بListClass وأرى في الصورة أن كل شئ يعمل بشكلٍ سليم , تقول أن الجدول الجديد الذي يحمل العلاقة بين user و Room لا يظهر فيه العلاقة , فهل يمكنك تصوير الجدول من الداخل؟ أظهر المزيد قلت أن الجدول الذي يحمل العلاقة one to many بين المستخدم من نوع أستاذ وهو profile و Room والتي هي الحصص لاتظهر في الجدول أي خواص للعلاقة بينهم لأنني جربت إضافة حصة وتمت الاضافة بنجاح لكن لايظهر أي شئ في جدول العلاقة بين الحصة ومن أنشئها اقتباس
0 شرف الدين حفني نشر 6 يونيو 2022 أرسل تقرير نشر 6 يونيو 2022 بتاريخ On 6/6/2022 at 17:57 قال Mohamed Lamin Mahmoudi: قلت أن الجدول الذي يحمل العلاقة one to many بين المستخدم من نوع أستاذ وهو profile و Room والتي هي الحصص لاتظهر في الجدول أي خواص للعلاقة بينهم لأنني جربت إضافة حصة وتمت الاضافة بنجاح لكن لايظهر أي شئ في جدول العلاقة بين الحصة ومن أنشئها أظهر المزيد الجدول الذي يحمل العلاقة بينهما ليس جدول lista وإنما هو نفسه جدول الrooms وهذا لأنها علاقة واحد إلى كثير, وفي علاقة الواحد إلى كثير يكون جدول الكثير هو الذي يحمل مفتاح العلاقة , لذا أرجو إزالة الخاصية foreignKey من العلاقة وإعادة إنشاء قاعدة البيانات ستلاحظة إنشاء جدول rooms يحمل بداخله مفتاح يُشير إلى الأستاذ الموجود في تلك الحصة 1 اقتباس
0 Mohamed Lamin Mahmoudi نشر 6 يونيو 2022 الكاتب أرسل تقرير نشر 6 يونيو 2022 بتاريخ On 6/6/2022 at 18:03 قال شرف الدين2: الجدول الذي يحمل العلاقة بينهما ليس جدول lista وإنما هو نفسه جدول الrooms وهذا لأنها علاقة واحد إلى كثير, وفي علاقة الواحد إلى كثير يكون جدول الكثير هو الذي يحمل مفتاح العلاقة , لذا أرجو إزالة الخاصية foreignKey من العلاقة وإعادة إنشاء قاعدة البيانات ستلاحظة إنشاء جدول rooms يحمل بداخله مفتاح يُشير إلى الأستاذ الموجود في تلك الحصة أظهر المزيد لم يظهر جدول جديد بقي نفس الجدول القديم باسم rooms وله خصائص الحصة فقط ولم يضاف له معرف الاستاذ الذي أنشئ الحصة backend.rar 1 اقتباس
0 شرف الدين حفني نشر 6 يونيو 2022 أرسل تقرير نشر 6 يونيو 2022 بتاريخ On 6/6/2022 at 18:21 قال Mohamed Lamin Mahmoudi: لم يظهر جدول جديد بقي نفس الجدول القديم باسم rooms وله خصائص الحصة فقط ولم يضاف له معرف الاستاذ الذي أنشئ الحصة backend.rarFetching info... أظهر المزيد أرجو فتح ملف index.js والذهاب إلى السطر رقم 6 وكتابته على الشكل التالي sequelize.sync({force:true}) حيث أن الخاصية {force:true} ستقوم بمسح البيانات الموجودة في قاعدة البيانات وإعادة بناؤها مرة أخرى حتى يتم بناؤها بالعلاقة الصحيحة بين الحصة والمدرس, بعد أن تقوم بتشغيل الخادم ستلاحظ ظهور العلاقة في قاعدة البيانات في الجدول room حيث سيظهر لك الحقل الجديد profileId , بعد ذاك يمكنك مسح الخاصية force:true مرة أخرى حتى لا يتم مسح البيانات في كل مرة يتم تشغيل الخادم فيها بالتوفيق 1 اقتباس
0 Mohamed Lamin Mahmoudi نشر 6 يونيو 2022 الكاتب أرسل تقرير نشر 6 يونيو 2022 بتاريخ On 6/6/2022 at 18:51 قال شرف الدين2: أرجو فتح ملف index.js والذهاب إلى السطر رقم 6 وكتابته على الشكل التالي sequelize.sync({force:true}) حيث أن الخاصية {force:true} ستقوم بمسح البيانات الموجودة في قاعدة البيانات وإعادة بناؤها مرة أخرى حتى يتم بناؤها بالعلاقة الصحيحة بين الحصة والمدرس, بعد أن تقوم بتشغيل الخادم ستلاحظ ظهور العلاقة في قاعدة البيانات في الجدول room حيث سيظهر لك الحقل الجديد profileId , بعد ذاك يمكنك مسح الخاصية force:true مرة أخرى حتى لا يتم مسح البيانات في كل مرة يتم تشغيل الخادم فيها بالتوفيق أظهر المزيد لماذا تظهر قيمة null على معرف منشئ الحصة ؟؟ اقتباس
0 شرف الدين حفني نشر 7 يونيو 2022 أرسل تقرير نشر 7 يونيو 2022 بتاريخ On 6/6/2022 at 19:46 قال Mohamed Lamin Mahmoudi: لماذا تظهر قيمة null على معرف منشئ الحصة ؟؟ أظهر المزيد هل يمكنك أن ترينا الطريقة التي قمت بإدخال البيانات بها ؟ لأنه من الواضح أنك لم تدخل منشئ الحصة عند إنشاؤها اقتباس
0 Mohamed Lamin Mahmoudi نشر 7 يونيو 2022 الكاتب أرسل تقرير نشر 7 يونيو 2022 بتاريخ On 7/6/2022 at 10:18 قال شرف الدين2: هل يمكنك أن ترينا الطريقة التي قمت بإدخال البيانات بها ؟ لأنه من الواضح أنك لم تدخل منشئ الحصة عند إنشاؤها أظهر المزيد export const creatRoom = async(req,res)=>{ const { profileId, Numberofroom,NameOfroom,QrCode,date}=req.body; try{ const room = await models.Room.create({ NameOfroom, Numberofroom, QrCode, date, profileId }); res.status(200).json({message:'تم إنشاء الحصة بنجاح '}); } catch(e){ res.status(500).json(e); console.log(e); } }; أرسلت المعرف من الخادم للعميل مع رمز الدخول "accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6NCwibmFtZSI6ImFobWVkIiwiZW1haWwiOiJhaG1lZEBnbWFpbC5jb20iLCJpYXQiOjE2NTQ1OTMwNzZ9.cDDzmn15IebsLFLkERjUepIfGF4qPRhJmHUCYnnmz-w", "userType": "teacher", "userId": 4 } في جهة العميل خزنت المعرف في AsyncStorage عند تسجيل الدخول ومن ثم أردت إرساله مع بيانات الحصة const _singpRoom=()=>{ (async()=>{ const { Numberofroom, NameOfroom, date, QrCodevalue}=formData; const profileId =await AsyncStorage.getItem('userId'); const QrCode=QrCodevalue; const body={ Numberofroom, NameOfroom, date, QrCode, profileId } try{ const token =await AsyncStorage.getItem('AccessToken'); axios.defaults.headers.common.Authorization =`JWT ${token}`; const response= axios.post(CREATEROOM_URL,body); console.log(body); setFormData({ NameOfroom:'', Numberofroom:'', date:'', QrCode:'' }); props.navigation.navigate('ListRoom'); }catch(e){ } })(); } اقتباس
0 شرف الدين حفني نشر 7 يونيو 2022 أرسل تقرير نشر 7 يونيو 2022 بتاريخ On 7/6/2022 at 10:31 قال Mohamed Lamin Mahmoudi: أرسلت المعرف من الخادم للعميل مع رمز الدخول "accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6NCwibmFtZSI6ImFobWVkIiwiZW1haWwiOiJhaG1lZEBnbWFpbC5jb20iLCJpYXQiOjE2NTQ1OTMwNzZ9.cDDzmn15IebsLFLkERjUepIfGF4qPRhJmHUCYnnmz-w", "userType": "teacher", "userId": 4 } في جهة العميل خزنت المعرف في AsyncStorage عند تسجيل الدخول ومن ثم أردت إرساله مع بيانات الحصة أظهر المزيد هل يمكنك طباعة profileId حتى نتأكد أنه تم إرساله بصورة صحيحة عبر تعديل الشفرة البرمجية لدالة craeteRoom لجعلها كالتالي export const creatRoom = async(req,res)=>{ const { profileId, Numberofroom,NameOfroom,QrCode,date}=req.body; try{ console.log(profileId); const room = await models.Room.create({ NameOfroom, Numberofroom, QrCode, date, profileId }); res.status(200).json({message:'تم إنشاء الحصة بنجاح '}); } catch(e){ res.status(500).json(e); console.log(e); } }; أرجو بعد الطباعة أن ترينا لقطة شاشة لناتج الطباعة 1 اقتباس
0 Mohamed Lamin Mahmoudi نشر 7 يونيو 2022 الكاتب أرسل تقرير نشر 7 يونيو 2022 بتاريخ On 7/6/2022 at 10:41 قال شرف الدين2: هل يمكنك طباعة profileId حتى نتأكد أنه تم إرساله بصورة صحيحة عبر تعديل الشفرة البرمجية لدالة craeteRoom لجعلها كالتالي export const creatRoom = async(req,res)=>{ const { profileId, Numberofroom,NameOfroom,QrCode,date}=req.body; try{ console.log(profileId); const room = await models.Room.create({ NameOfroom, Numberofroom, QrCode, date, profileId }); res.status(200).json({message:'تم إنشاء الحصة بنجاح '}); } catch(e){ res.status(500).json(e); console.log(e); } }; أرجو بعد الطباعة أن ترينا لقطة شاشة لناتج الطباعة أظهر المزيد نعم يتم إرساله بشكل صحيح اقتباس
0 شرف الدين حفني نشر 7 يونيو 2022 أرسل تقرير نشر 7 يونيو 2022 بتاريخ On 7/6/2022 at 10:46 قال Mohamed Lamin Mahmoudi: نعم يتم إرساله بشكل صحيح أظهر المزيد محمد أرجو طباعة الprofileId بداخل الدالة createRoom وليس طباعة userId اقتباس
0 Mohamed Lamin Mahmoudi نشر 7 يونيو 2022 الكاتب أرسل تقرير نشر 7 يونيو 2022 بتاريخ On 7/6/2022 at 10:48 قال شرف الدين2: محمد أرجو طباعة الprofileId بداخل الدالة createRoom وليس طباعة userId أظهر المزيد في جهة التطبيق يظهر لي أن id قيمته null وفي الخادم يظهر الخطأ 500 بتاريخ On 7/6/2022 at 11:10 قال Mohamed Lamin Mahmoudi: في جهة التطبيق يظهر لي أن id قيمته null وفي الخادم يظهر الخطأ 500 أظهر المزيد المشكلة من جهة التطبيق لأني جربت في postman وتم إنشاء الحصة بنجاح وظهر معرف منشئ الحصة في الجدول mobile.rar اقتباس
0 Mohamed Lamin Mahmoudi نشر 8 يونيو 2022 الكاتب أرسل تقرير نشر 8 يونيو 2022 المشكل أني عندما أسجل الدخول وأخزن المعرف وأطبعه يتم طباعته بشكل صحيح هنا const _SignIn=()=>{ (async()=>{ if (!validate())return; setLoading(true); try{ const response= await axios.post(SIGNIN_URL,{email,password}); setLoading(false); setEmail(''); setPassword(''); AsyncStorage.setItem('accessToken',response.data.accessToken); const userType = response.data.userType; AsyncStorage.setItem('userId',response.data.userId); console.log(userId); if(userType==='student') { props.navigation.navigate('Student'); } else props.navigation.navigate('TeacherPage'); }catch(e){ setLoading(false); setAlert({messages:e.response.data.message,type:'danger'}); } })(); } لكن عندما أستورده هنا في ملف إنشاء حصة يتم طباعته بقيمة null لماذا ؟؟ const _singpRoom=()=>{ (async()=>{ const { Numberofroom, NameOfroom, date, QrCodevalue}=formData; const profileId =await AsyncStorage.getItem('userId'); const QrCode=QrCodevalue; const body={ Numberofroom, NameOfroom, date, QrCode, profileId } try{ const token =await AsyncStorage.getItem('AccessToken'); axios.defaults.headers.common.Authorization =`JWT ${token}`; const response= axios.post(CREATEROOM_URL,body); console.log(body); setFormData({ NameOfroom:'', Numberofroom:'', date:'', QrCode:'' }); props.navigation.navigate('ListRoom'); }catch(e){ } })(); } اقتباس
0 شرف الدين حفني نشر 8 يونيو 2022 أرسل تقرير نشر 8 يونيو 2022 بتاريخ On 7/6/2022 at 11:10 قال Mohamed Lamin Mahmoudi: في جهة التطبيق يظهر لي أن id قيمته null وفي الخادم يظهر الخطأ 500 المشكلة من جهة التطبيق لأني جربت في postman وتم إنشاء الحصة بنجاح وظهر معرف منشئ الحصة في الجدول mobile.rarFetching info... أظهر المزيد محمد ارسل ملفات المشروع كاملًا لان تلك الملفات ناقصة 1 اقتباس
0 Mohamed Lamin Mahmoudi نشر 8 يونيو 2022 الكاتب أرسل تقرير نشر 8 يونيو 2022 بتاريخ On 7/6/2022 at 11:10 قال Mohamed Lamin Mahmoudi: في جهة التطبيق يظهر لي أن id قيمته null وفي الخادم يظهر الخطأ 500 المشكلة من جهة التطبيق لأني جربت في postman وتم إنشاء الحصة بنجاح وظهر معرف منشئ الحصة في الجدول أظهر المزيد بتاريخ On 8/6/2022 at 09:16 قال شرف الدين2: محمد ارسل ملفات المشروع كاملًا لان تلك الملفات ناقصة أظهر المزيد mobile.rar اقتباس
0 Mohamed Lamin Mahmoudi نشر 10 يونيو 2022 الكاتب أرسل تقرير نشر 10 يونيو 2022 بتاريخ On 8/6/2022 at 09:16 قال شرف الدين2: محمد ارسل ملفات المشروع كاملًا لان تلك الملفات ناقصة أظهر المزيد مرحبا هل تم إكتشاف الخطأ ؟ اقتباس
0 شرف الدين حفني نشر 11 يونيو 2022 أرسل تقرير نشر 11 يونيو 2022 بتاريخ On 10/6/2022 at 17:48 قال Mohamed Lamin Mahmoudi: مرحبا هل تم إكتشاف الخطأ ؟ أظهر المزيد محمد ارجو منك ايضًا ارفاق ملفات الباك اند حتى نتمكن من تجربة التطبيق بشكلٍ جيد 1 اقتباس
0 Mohamed Lamin Mahmoudi نشر 11 يونيو 2022 الكاتب أرسل تقرير نشر 11 يونيو 2022 بتاريخ On 11/6/2022 at 11:46 قال شرف الدين2: محمد ارجو منك ايضًا ارفاق ملفات الباك اند حتى نتمكن من تجربة التطبيق بشكلٍ جيد أظهر المزيد backend.rar اقتباس
السؤال
Mohamed Lamin Mahmoudi
أنشأت علاقة واحد لأكثر بين الحصة والأستاذ وبعد إنشائي للحصة ألاحظ ظهورها في جدول الحصص لكن لاتظهر في الجدول الجديد الذي يحوي العلاقة بين الاستاذ والحصة لماذا ؟؟
ملف الحصة
ملف المستخدم من نوع أستاذ
20 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.