繁体   English   中英

Laravel 在重定向路由上填充数据

[英]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">&times;</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">&times;</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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM