Laravel 如何获得最具说服力的重复值?

Laravel 如何获得最具说服力的重复值?,laravel,laravel-4,eloquent,Laravel,Laravel 4,Eloquent,我有很多对许多职位和标签在雄辩的关系。是否可以在透视表中对标记进行排序,以获得10个最常用的标记 是的,有可能向透视表添加某种属性,并在每次从数据库中选择时更新它。增值 选择时使用wherePivot方法 如果您希望使用最新的数据,请在迁移中向数据透视表添加时间戳,并在每次选择时触摸数据透视表。是的,这样做实际上非常简单 在存储标记的表中,添加另一个名为count_cache的列或任何您想要的列,然后每次将标记实例添加到post实例时,在透视表中对标记id进行计数,并将值存储到标记表中的coun

我有很多对许多职位和标签在雄辩的关系。是否可以在透视表中对标记进行排序,以获得10个最常用的标记


是的,有可能向透视表添加某种属性,并在每次从数据库中选择时更新它。增值

选择时使用wherePivot方法


如果您希望使用最新的数据,请在迁移中向数据透视表添加时间戳,并在每次选择时触摸数据透视表。

是的,这样做实际上非常简单

在存储标记的表中,添加另一个名为count_cache的列或任何您想要的列,然后每次将标记实例添加到post实例时,在透视表中对标记id进行计数,并将值存储到标记表中的count_cache列

然后,您只需按count_cache collumn降序(限制为10)即可获得标记表


如果您需要进一步解释,请发表评论:

想法很清楚,但如何做?我需要以某种方式触发同步方法的增量。请提供更多信息,发布您的相关控制器、模型或存储库(如果有),以便我可以帮助您。为什么?我使用同步方法将标签添加到帖子中。所以我只需要在调用sync时以某种方式触发自定义方法。sync将用标记覆盖所有以前的关系,并接受一个新关系数组。如果要更新模型的关系(如果不希望丢失以前与模型的关系),最好使用“附加”。一般的想法是计算pivot表中存在的id的出现次数,然后将该值保存到单独的列中的标记表中,这样您就不必每次都计算它。如果你想要的不是一般的想法,你可以发布更多的代码。我知道sync、attach、detach方法的用途。但当其中一个被使用时,我仍然需要以某种方式触发。