我有3个实体(模型):
所有这三者都与地区实体(模型)有很多/很多关系。
如果用户正在搜索任何其他用户/群组/课程
Group::all();
实施此方法的最佳方法是什么?
我正在考虑重新定义::all()
方法。
答案 0 :(得分:1)
一种方法是在Region模型中创建一个函数来获取组/用户/课程:
public function getGroups()
{
return Group::whereHas('regions', function($q) {
$q->where('regions.id', $this->id);
})->get();
}
您需要在Group Model中定义belongsToMany关系,如果您遵循命名约定,则类似于此:
public function regions()
{
return $this->belongsToMany(Region::class);
}
然后,你只需要打电话:
$groups = $region->getGroups();