我需要用数据库中的数据填充TWIG中的表.一切都很好,除了:
我需要具有DATEDIFF属性的列以获取天数.
TODAY-dateFromDateBase
问题是:
如何获得树枝中循环的天数?
这是我的树枝:
L.p ID PRZEPUSTKI {{ form_widget(searchform.PermitId) }}Name{{ form_widget(searchform.Permitname) }}Surname {{ form_widget(searchform.Permitsurname) }}Company {{ form_widget(searchform.Company) }}GW {{ form_widget(searchform.Contractor) }}Dayleft {{ form_widget(searchform.Dayleft) }}End date {{ form_widget(searchform.date, { 'attr': {'class': 'datepicker'} }) }}
{% for permit in permitcollection %}
{{ loop.index }}{{ permit.getPermitid()|number_format(0, '.', ' ') }}{{ permit.getPermitname() }}{{ permit.getPermitsurname() }}{{ permit.getPermitsCompany().getName() }}{{ permit.getPermitsContractor().getName() }} HERE I WANT TO DISPLAY DAYS LEFT{{ permit.getExpirationdate()|date('Y-m-d') }}{% endfor %}
这样的事情可能吗?
{{ permit.getExpirationdate()|date('Y-m-d') - "now"|date('Y-m-d') }}
解决方法:
第一个解决方案(推荐)“使用现有库”:
在树枝上:
与当前日期进行比较:
{# Returns something like "3 minutes ago" #}
{{ time_diff(permit.expirationDate) }}
这与另一个日期比较:
{# Returns something like "3 minutes ago" #}
{{ time_diff(permit.expirationDate, anotherDate) }}
第二个解决方案“自己动手做”:
通过php函数进行比较:
$calcFrom = permit.getExpirationdate()
$now = new \DateTime('now');
$now->diff($calcFrom)->format("%a")
并通过Twig extension或直接在实体中的帮助器方法中使其可用.
另一个可能的解决方案是写一个注册custom DQL Function来完成存储库中的工作
希望这个帮助
标签:datediff,symfony,twig,php
来源: https://codeday.me/bug/20191029/1956752.html