代码之家  ›  专栏  ›  技术社区  ›  Pouya

Foreach循环不添加计数器

  •  0
  • Pouya  · 技术社区  · 3 年前

    我有这个习惯 foreach公司 叶片处的回路:

    <div id="dynamic_field">
        @foreach($niloufars as $niloufar)
            @php 
                $counter = 1;
            @endphp 
            <div class="row">
                <div class="col-md-6">
                    <div class="form-group">
                        <span class="text-danger force-required"></span>
                        <label for="niloufar_name">Title</label>
                        <input type="text"
                            class="form-control"
                            name="niloufar_name_{{ $counter }}" value="{{ $niloufar->name }}">
                    </div>
                </div>
                <div class="col-md-6">
                    <div class="form-group">
                        <span class="text-danger force-required"></span>
                        <label for="niloufar_link">Link</label>
                        <input type="text"
                            class="form-control"
                            name="niloufar_link_{{ $counter }}" value="{{ $niloufar->link }}">
                    </div>
                </div>
            </div>  
            @php
                $counter = $counter + 1;
            @endphp
        @endforeach
    </div>
    

    如你所见,我已经设置了 $counter 变量设置为 1. 在第一次迭代中,然后我添加 1. 以便在下一次迭代中 2. .

    因此,我可以为表单字段设置唯一的名称,以便进一步处理。

    但问题是,变量只是设置为 1. 全程:

         <div class="row">
            <div class="col-md-6">
                <div class="form-group">
                    <span class="text-danger force-required"></span>
                    <label for="niloufar_name">Title</label>
                    <input type="text"
                        class="form-control"
                        name="niloufar_name_1" value="">
                </div>
            </div>
            <div class="col-md-6">
                <div class="form-group">
                    <span class="text-danger force-required"></span>
                    <label for="niloufar_link">Link</label>
                    <input type="text"
                        class="form-control"
                        name="niloufar_link_1" value="">
                </div>
            </div>
        </div>  
                             
        <div class="row">
            <div class="col-md-6">
                <div class="form-group">
                    <span class="text-danger force-required"></span>
                    <label for="niloufar_name">Title</label>
                    <input type="text"
                        class="form-control"
                        name="niloufar_name_1" value="">
                </div>
            </div>
            <div class="col-md-6">
                <div class="form-group">
                    <span class="text-danger force-required"></span>
                    <label for="niloufar_link">Link</label>
                    <input type="text"
                        class="form-control"
                        name="niloufar_link_1" value="">
                </div>
            </div>
        </div>  
    

    那么这里出了什么问题?如何正确显示每个表单字段名称的当前迭代?

    1 回复  |  直到 3 年前
        1
  •  0
  •   RossTsachev    3 年前

    将计数器的设置移到foreach之前(实际上,在每个循环的开头将其设置为1):

    @php 
        $counter = 1;
    @endphp 
    @foreach($niloufars as $niloufar)
            
    
    推荐文章