cron运行 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17日18 19 20 21日22日23日24日25日26日27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 - - - / src /仓库/ CommentRepository.php+ + + b / src /仓库/ CommentRepository.php@@ 6 6 + 6,7 @@使用App \实体\评论;使用App \实体\会议;使用原则\ \ DoctrineBundle \ Repository \ ServiceEntityRepository捆绑销售;使用原则\ \ ManagerRegistry持久性;+使用原则\ ORM \ QueryBuilder;使用原则\ ORM工具\ \分页\ Paginator;/ * * @@ -18 6 + 19日8 @@使用原则\ ORM工具\ \分页\ Paginator;* /类CommentRepository延伸ServiceEntityRepository {+私人const DAYS_BEFORE_REJECTED_REMOVAL = 7;+公共常量PAGINATOR_PER_PAGE = 2;公共函数__construct (ManagerRegistry注册美元)@@ -25年6 + 28日29日@@ CommentRepository ServiceEntityRepository扩展父类::__construct(美元注册、评论::类);}+公共职能countOldRejected (): int+ {+ $ this - >返回getOldRejectedQueryBuilder() - >选择(计数(c.id)) - > getQuery () - > getSingleScalarResult ();+}++公共职能deleteOldRejected (): int+ {+ $ this - >返回getOldRejectedQueryBuilder () - > delete () - > getQuery() - >执行();+}++私人getOldRejectedQueryBuilder()函数:QueryBuilder+ {+ $ this - >返回createQueryBuilder (“c”)+ - >引入(c。状态=:state_rejected或c。国家=:state_spam”)+ - >引入(c。createdAt <:日期)+ - > setParameters ([+“state_rejected”= >“拒绝”,+“state_spam”= >“垃圾邮件”,+“日期”= > new \ DateTimeImmutable (self:: DAYS_BEFORE_REJECTED_REMOVAL。“天”),+))+;+}+公共函数getCommentPaginator(会议会议美元,int抵消美元):Paginator {$ = $ this - >查询createQueryBuilder (“c”) 提示 对于更复杂的查询,这有时是有用的来看看生成的SQL语句(他们可以找到在日志和Web请求的分析器)。