我希望模式以正确的ID打开,即在foreach中

问题描述

我有一个问题:我用foreach列出了一个数据库集合,每个按钮都有一个打开模式的按钮。该按钮正常工作,但传递给模式的ID无效。如果模式代码位于foreach内,则在所有选项中始终显示第一个ID,如果它位于foreach之外,则最后一个ID将始终出现。

<div class="row">
    @if ($trainingphases == null)
        <p>null</p>
        @else
        <div class="col-md-6">
            <div class="card mt-1">
                    <div class="card-body">
                        <!-- right control icon --> 
                        @foreach ($trainingphases as $trainingphase) 
                        <div class="accordion" id="accordionRightIcon">
                            
                            <div class="card ">
                                <div class="card-header header-elements-inline">
                                    <h6 class="card-title ul-collapse__icon--size ul-collapse__right-icon mb-0">
                                        <a data-toggle="collapse" class="text-default collapsed" href="#accordion-item-icon-right-{!!$trainingphase->id_trainingphases!!}"
                                            aria-expanded="false">{!! $trainingphase->title !!}</a>
                                    </h6>
                                </div>
                                <div id="accordion-item-icon-right-{!!$trainingphase->id_trainingphases!!}" class="collapse" data-parent="#accordionRightIcon" style="">
                                    <div class="card-body">
                                    <textarea class="ckeditor form-control" placeholder="teste" name="description">{{ $trainingphase->description }}</textarea>
                                    </div>                                                                              
                                </div>                                                                        
                                <div class="col-md-2">
                                <button type="button" class="btn btn-primary" data-toggle="modal" data-target=".bd-example-modal-lg">editar {!! $trainingphase->title !!}</button>
                            </div> 
                            </div>                               
                        </div>  
                                                      
                        @endforeach 
                        <!-- /right control icon -->                            
                    </div>                        
                </div>                   
            </div>                
        @endif
    </div>
         
    <div class="modal fade bd-example-modal-lg" tabindex="-1" role="dialog" aria-labelledby="exampleModalCenterTitle" aria-hidden="true">
        <div class="modal-dialog modal-lg">
            <div class="modal-content">
                <div class="modal-header">
                <form method="POST" action="{{ route('create.trainingphase',array('id_trainings'=>$training->id_trainings)) }}">
                    @csrf
                    <h5 class="modal-title" id="exampleModalCenterTitle"><input type="text" class="form-control form-control-rounded" id="title" placeholder="{!! $trainingphase->title !!}" name="title"></h5>
                        
                </div>
                <div class="modal-body">
                <label for="descriptiom">Descrição</label>
                <textarea class="ckeditor form-control" placeholder="teste" name="description">{{ $trainingphase->description }}</textarea> 

                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
                    <button type="button" class="btn btn-primary">Save changes</button>
                </div>
                </form>
            </div>
        </div>
    </div>

解决方法

说明

这是PHP中循环的预期行为。

因此,您的代码将自上而下进行评估,并且在您的@foreach循环中,您实际上是在脚本范围内重新分配$trainingphase的值。

循环结束后,$trainingphase的值不会被设置,因此它将是您刚刚循环通过的对象中的最后一个值。


解决方案

将模式代码保持在循环之外,并尝试在用于打开模式的按钮上使用data属性,以将值传递到模式本身。

有关此文档,请参见:

https://getbootstrap.com/docs/4.0/components/modal/#varying-modal-content

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...