在循环内时出现 Twig Extended Function 错误
Twig Extended Function error when inside the loop
我有这样的树枝代码:
{% for row in faq_categories|batch(2, 'No item') %}
<div class="row">
{% for faq_category in row %}
<div class="col-lg-6">
<h3>{{ faq_category.name }}</h3>
<p>{{ faq_category.description }}</p>
{% set faqs = getFaqs( faq_category.id ) %}
<div class="accordion toggle fancy radius clean">
{% for faq in faqs %}
<div class="ac-item">
<h5 class="ac-title"><i class="fa fa-question-circle"></i>{{ faq.question}}?</h5>
<div style="" class="ac-content">{{ faq.answer }}</div>
</div>
{% endfor %}
</div>
</div>
{% endfor %}
一切正常,但是当我只有 1 条记录时 faq_categories 它给我这样的错误:
Message: 'Argument 1 passed to App\Models\Faq::byCategory() must be of the type int, null given, called in D:\laragon\www\compro\Core\View.php on line 86'
是这行代码引起的:
{% set faqs = getFaqs( faq_category.id ) %}
好像faq_category.id变成了null。我不知道是什么原因导致的,是因为批处理过滤器吗?或者我在这里做了什么?
这是因为批处理过滤器。它会重复两次,因为你将它设置为 batch(2)。所以第二条空记录会使 faq_category.id 变为空。要解决此问题,您可以尝试这样做:
{% set faqs = faq_category.id ? getFaqs( faq_category.id ) : null %}
我有这样的树枝代码:
{% for row in faq_categories|batch(2, 'No item') %}
<div class="row">
{% for faq_category in row %}
<div class="col-lg-6">
<h3>{{ faq_category.name }}</h3>
<p>{{ faq_category.description }}</p>
{% set faqs = getFaqs( faq_category.id ) %}
<div class="accordion toggle fancy radius clean">
{% for faq in faqs %}
<div class="ac-item">
<h5 class="ac-title"><i class="fa fa-question-circle"></i>{{ faq.question}}?</h5>
<div style="" class="ac-content">{{ faq.answer }}</div>
</div>
{% endfor %}
</div>
</div>
{% endfor %}
一切正常,但是当我只有 1 条记录时 faq_categories 它给我这样的错误:
Message: 'Argument 1 passed to App\Models\Faq::byCategory() must be of the type int, null given, called in D:\laragon\www\compro\Core\View.php on line 86'
是这行代码引起的:
{% set faqs = getFaqs( faq_category.id ) %}
好像faq_category.id变成了null。我不知道是什么原因导致的,是因为批处理过滤器吗?或者我在这里做了什么?
这是因为批处理过滤器。它会重复两次,因为你将它设置为 batch(2)。所以第二条空记录会使 faq_category.id 变为空。要解决此问题,您可以尝试这样做:
{% set faqs = faq_category.id ? getFaqs( faq_category.id ) : null %}