Php 我希望模态以正确的ID打开,即在foreach中
我有一个问题:我使用了一个Php 我希望模态以正确的ID打开,即在foreach中,php,mysql,laravel,bootstrap-modal,laravel-blade,Php,Mysql,Laravel,Bootstrap Modal,Laravel Blade,我有一个问题:我使用了一个foreach来列出一个数据库集合,每个集合中都有一个打开模式的按钮。按钮工作正常,但传递到模式的ID不正常。如果模式代码在foreach内,则在所有选项中始终显示第一个id,如果它在foreach外,则始终显示最后一个id <div class="row"> @if ($trainingphases == null) <p>null</p> @else &l
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>
@如果($trainingphases==null)
空的
@否则
@foreach($trainingphase作为$trainingphase)
{{$trainingphase->description}
editar{!!$trainingphase->title!!}
@endforeach
@恩迪夫
@csrf
描述
{{$trainingphase->description}
接近
保存更改
解释
这是PHP中循环的预期行为
因此,您的代码将从上到下进行计算,在@foreach
循环中,您实际上是在脚本范围内重新分配$trainingphase
的值
循环完成后,$trainingphase
的值不会取消设置,因此它将是您刚才循环通过的对象中的最后一个值
解决方案 将模式代码保持在循环之外,并尝试在用于打开模式的按钮上使用
data
properties将值传递到模式本身
有关这方面的文件可在此处找到:
如果您需要正确地执行此操作,那么这在逻辑上是正确的,使用js,就像用户单击按钮时,在模式中将id更改为按钮id值一样