[英]Laravel populate data on redirect route
我正在做一个错误异常,当由于父约束而无法删除条目时显示模式弹出窗口
Controller:
public function deleteUnitType(Request $request, $proj_id)
{
$id = $request->id;
$unit_types = UnitType::where('id', $id);
$floors = UnitTypeFloor::where('unit_type_id', $id)->get();
if(count($floors) != 0){
return redirect()->route('dev-admin.projects.unit-types.index', ['unit_types' => $unit_types, 'proj_id' => $proj_id, 'floors' => $floors])->with('failed', 'Unit Type failed to delete due to existing floor plan.');
} else {
// $unit_types->delete();
return redirect()->route('dev-admin.projects.unit-types.index', ['unit_types' => $unit_types, 'proj_id' => $proj_id])->with('status', 'Unit Type is successfully deleted.');
}
}
HTML:
<div class="col-12">
@if (session('status'))
<div class="alert alert-success alert-dismissible fade show" role="alert">
{{ session('status') }}
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
@elseif (session('failed'))
<div class="modal fade" id="unit-type-notification-modal" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
</div>
<div class="modal-body">
<p>{{ session('failed') }}</p>
<ul>
@foreach($floors as $floor)
<li>{{ $floor -> name }}</li>
@endforeach
</ul>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
@endif
</div>
$( document ).ready(function() {
@if (session('failed'))
$('#unit-type-notification-modal').modal('show');
@endif
});
模态弹出窗口和所有内容,但由于某种原因它找不到我的$floor
变量,它说:
未定义变量:楼层
但是当我在我的 controller 上 dd 时,数据存在
我认为您应该按照以下方式检查第一个 session 是否“失败”。
@if(Session::has('status'))
@elseif( Session::has( 'failed' ) )
还有你的脚本:
$( document ).ready(function() {
@if(Session::has('failed'))
$('#unit-type-notification-modal').modal('show');
@endif
});
谢谢
您可以在重定向路由中添加另一个
return redirect()->route('dev-admin.projects.unit-types.index', ['unit_types' => $unit_types, 'proj_id' => $proj_id, 'floors' => $floors])
->with('failed', 'Unit Type failed to delete due to existing floor plan.')
->with('floors', $floors);
或这个;
return redirect()->route('dev-admin.projects.unit-types.index', ['unit_types' => $unit_types, 'proj_id' => $proj_id, 'floors' => $floors])
->with(['failed' => 'Unit Type failed to delete due to existing floor plan.', 'floors' => $floors]);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.