【发布时间】:2020-01-16 16:47:06
【问题描述】:
我正在为特定的 Eloquent 模型实现一些过滤器。
现在我从数据库中获取所有可用的产品,并将命令包装在 laravel Cache::remember () 函数中。然后我通过一系列过滤器类传递这个集合。在每个过滤器类中,我执行一个$productCollection->filter() 操作,返回所有合适的产品。最后,我得到所有符合给定过滤器参数的产品。
现在我想知道这是否是一种好的做法,或者在数据库查询期间直接使用范围或过滤器是否会更好。
一些过滤器过滤直接匹配(例如品牌必须是 id 4)。其他有一组可能的拟合(例如,类别必须是 id 3、4 或 7)。
【问题讨论】: