我有一个数据库,“视图”,有很多很多条目。我还有一个“课程”表,这些视图与该表是一对多相关的。在 Laravel Nova 中,我可以使用如下代码获取课程的所有视图随时间变化的指标:
public function calculate(Request $request)
{
return $this->countByDays($request, view::where('viewable_id', $request->resourceId));
}
在这种情况下,viewable_id
是课程$request->resourceId
的 ID,并给出要排序的课程 ID。很简单。
然而,现在事情变得有些困难。我有另一个模型叫做Teachers
. 每个都Teacher
可以有很多课程,也是一对多的关系。我如何获得教师教授的所有课程的观看次数指标?
我假设最简单的方法是创建一个 Laravel 集合,其中包含教师教授的所有课程(效率不高),然后选择数据库中viewable_id
与该列表中的一门课程匹配的所有视图。当然,通过发布这个,我无法弄清楚如何做到这一点。
当然,一旦弄清楚了这一点,我很乐意为它做同样的事情Categories
(尽管它的功能应该与教师非常相似,所以我不需要问这个问题)。