محمد لارافيل نشر 30 مارس 2023 أرسل تقرير نشر 30 مارس 2023 لدي نموذج classroom ولديه علاقة hasMany مع students . أريد التحقق مما إذا كان كل classroom به students في استعلام واحد باستخدام eloquent builder //Classroom model class Classroom extends Model { public function students(): HasMany { return $this->hasMany(Student::class); } } حاولت القيام بذلك Classroom::has('students')->get(); ولكن لم ينجح حيث تعمل وظيفة has على جلب الفصول الدراسية التي ليس بها طلاب, النتيجة المتوقعة [ { "has_students": false }, { "has_students": false }, { "has_students": true }, { "has_students": true }, { "has_students": false } ] أرجو المساعدة اقتباس
0 Asem Mohamed نشر 31 مارس 2023 أرسل تقرير نشر 31 مارس 2023 يمكنك هنا تعديل ملف ال Model الخاص ب Classroom عن طريق اضافة Dynamic Property حيث يتم اضافة حقل جديد في البيانات التي ترجع اليك وكانها من قاعدة البيانات <?php class Classroom { public function getHasStudentsAttribute() { return (boolean)$this->has('students')->get()->count(); } } هنا انشأنا حقل جديد عن طريق دالة getHasStudentsAttribute وهي دالة عامة, بحيث الدالة تأخذ اسم مكون من 3 مقاطع 1- get لجلب حقل معين او set لكتابة قيمه بداخله 2- اسم الحقل هنا كان HasStudents 3- كلمة Attribute وبهذا عند عمل get للبيانات الخاصة ب classroom سيتم استعداء الحقل has_students بقيمة منطقية اقتباس
السؤال
محمد لارافيل
لدي نموذج classroom ولديه علاقة hasMany مع students . أريد التحقق مما إذا كان كل classroom به students في استعلام واحد باستخدام eloquent builder
//Classroom model class Classroom extends Model { public function students(): HasMany { return $this->hasMany(Student::class); } }
حاولت القيام بذلك
Classroom::has('students')->get();
ولكن لم ينجح حيث تعمل وظيفة has على جلب الفصول الدراسية التي ليس بها طلاب, النتيجة المتوقعة
[ { "has_students": false }, { "has_students": false }, { "has_students": true }, { "has_students": true }, { "has_students": false } ]
أرجو المساعدة
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.