La funzione路径()
属il percorso di una pagina utilizzando德拉省生搬硬套。我valori一些parametri del percorso vengono passati数组树枝来。
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
- - - / src /仓库/ CommentRepository.php+ + + b / src /仓库/ CommentRepository.php@@ 3,8 + 3,10 @@名称空间的应用程序\库;使用App \实体\评论;+使用App \实体\会议;使用原则\ \ DoctrineBundle \ Repository \ ServiceEntityRepository捆绑销售;使用原则\ \ ManagerRegistry持久性;+使用原则\ ORM工具\ \分页\ Paginator;/中@ method评论|空找到* * * (id、lockMode美元= null, $ lockVersion = null) @@ -14年11 + 16日27 @@使用主义\ \ ManagerRegistry持久性;* /类CommentRepository延伸ServiceEntityRepository {+公共常量PAGINATOR_PER_PAGE = 2;+公共函数__construct (ManagerRegistry注册美元){父:__construct(美元注册、评论::类);}+公共职能getCommentPaginator(会议会议美元,int抵消美元):Paginator+ {+ $ = $ this - >查询createQueryBuilder (“c”)+ - >引入(c。会议=:会议')< /span>+ - > setParameter(“会议”,会议美元)+ - > orderBy (c。createdAt, DESC)+ - > setMaxResults (self:: PAGINATOR_PER_PAGE)+ - > setFirstResult(抵消美元)+ - > getQuery ()+;+美元+返回新Paginator(查询);+}+/ / / * * / / * @return评论[]评论对象返回一个数组/ / * /
Abbiamo impostato il期马西莫·迪commenti每pagina 2 facilitare我测试。
每gestire la paginazione nel模板,passare树枝il paginatore di学说invece德拉collezione学说:
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
- - - / src /控制器/ ConferenceController.php+ + + b / src /控制器/ ConferenceController.php@@ 6 6 + 6,7 @@使用App \实体\会议;使用App \ Repository \ CommentRepository;使用App \ Repository \ ConferenceRepository;控制器使ob娱乐下载用Symfony \包\ FrameworkBundle \ \ AbstractController;+使用Syob娱乐下载mfony \ HttpFoundation \ \组件请求;组件使用ob娱乐下载Symfony \ \ HttpFoundation \反应;使用Syob娱乐下载mfony \组件\路由\注释\路线;用树枝\环境;@@ -21年11 + 22日16 @@类ConferenceController延伸AbstractController} #(路线(“/会议/ {id}”,名字:“会议”))公共函数显示(环境树枝美元,美元会议会上,CommentRepository CommentRepository美元):反应+公共函数显示(请求美元请求、环境树枝美元,美元会议,会议CommentRepository CommentRepository美元):反应{+ $抵消= max(0, $请求- >查询- > getInt(“抵消”,0));+ $ paginator = $ commentRepository - > getCommentPaginator(会议,抵消美元);+返回新的反应($树枝- >渲染(会议/ show.html。嫩枝”,(“会议”= >发布会上,美元——“评论”= >将其作为findBy $ commentRepository - >([“会议”= > $会议],[' createdAt ' = > ' DESC ']),+“评论”= > paginator美元,+ '以前' = >抵消美元- CommentRepository:: PAGINATOR_PER_PAGE,+ '未来' = > min(计数(paginator美元),抵消美元+ CommentRepository:: PAGINATOR_PER_PAGE),)));}}
riceve la stringa Il控制器抵消
德拉dalla查询字符串请求($请求- >查询
)联合国intero (getInt ()
),反对联合国valore predefinito 0 se非disponibile。
Gli抵消以前的
e下一个
园子温calcolati在基地tutte le informazioni fornite dal paginatore。
大概意思,每aggiungere aggiornare il模板链接阿莱pagine连续e precedenti:
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
- - - /模板/会议/ show.html.twig+ + + b /模板/会议/ show.html.twig6 + 6,8 @@ @@ 6日< < h2 >{{会议}}会议/ h2 >{%}如果评论|长度> 0%+ < div >有{{评论|长度}}评论。< / div >+{%评论评论中%}{%如果发表评论。photofilename %} 13 @@ @@ -18、6 + 20< p >{{发表评论。文本}}< /p>{%endfor%}++{%如果先前> = 0%}+ < a href = "{{路径(“会议”,{id:会议。id,抵消:以前})之前}}" > < / >+ {% endif %}+{%长度如果下一个<评论| %}+ < a href = "{{路径(“会议”,{id:会议。id,抵消:明年})}}" > < / >+ {% endif %}{%其他%}< div >这个会议还没有发表评论。< / div > {% endif %}
奥拉dovremmo essere级di navigare交易我commenti tramite我链接“之前”e“下一步”: