لدي جدولين في قاعدة البيانات Department و User. وقمت بإنشاء scope ضمن مودل المستخدم user اسمه available والتابع بداخله scopeAvailable. وأحاول الحصول على جميع الأقسام department التي تحوي هذا السكوب كالتالي:
class Department extends \Eloquent
{
public function departments()
{
return $this->HasMany('User');
}
}
والكود الخاص بالمستخدمين:
class User extends \Eloquent
{
public function department()
{
return $this->belongsTo('Department');
}
public function scopeAvailable($query)
{
return $query->where('available', 1);
}
}
السؤال
Amir Alsaeed
لدي جدولين في قاعدة البيانات Department و User. وقمت بإنشاء scope ضمن مودل المستخدم user اسمه available والتابع بداخله scopeAvailable. وأحاول الحصول على جميع الأقسام department التي تحوي هذا السكوب كالتالي:
$departments = Department::with('user')->available()->get();
ولكن أحصل على الخطأ التالي:
Call to undefined method published()
وهذا هو الكود الخاص بالأقسام:
class Department extends \Eloquent { public function departments() { return $this->HasMany('User'); } }
والكود الخاص بالمستخدمين:
class User extends \Eloquent { public function department() { return $this->belongsTo('Department'); } public function scopeAvailable($query) { return $query->where('available', 1); } }
كيف يمكنني حل هذه المشكلة؟
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.