首页 > 解决方案 > Laravel:如何在路由中传递单个 ID

问题描述

我正在构建一个系统,以便用户可以请求多项内容,并且我希望能够可视化系统中每个请求(单独)的详细信息。目前的方法一次给了我一切,而不是分开。

这是代码的一部分

控制器

 public function verDetalhesKeys($id)
{  
    $detalhes = DB::table('keysRequest')  
    ->where('keysRequest.id','=', $id)
    ->select('keysRequest.*')
    ->get();

    return view('Admin.keysRequestDetails',compact('detalhes'));
}

路线

Route::get('/detalhesK/{id}', 'AdminController@verDetalhesKeys') -> name('detalhesK');

可视化细节的按钮

<table class="table table-striped">
    <thead>
        <tr>
            <th>Name</th>
            <th>Email</th>
            <th>Department</th>
            <th>Site</th>
            <th>Pourpose</th>
            <th>From</th>
            <th>To</th>
        </tr>
    </thead>
    <tbody>
        @foreach($keys as $s)
        <tr>
            <td>{{$s->name}}</td>
            <td>{{$s->email}}</td>
            <td>{{$s->department}}</td>
            <td>{{$s->site}}</td>
            <td>{{$s->purpose}}</td>
            <td>{{$s->till}}</td>
            <td>{{$s->until}}</td>
            <td style="display:none;">{{$s->id}}</td>
            <td><a class="btn btn-info btn-md" href="{{ route('detalhesK',['id' => $s->id])}}" style="background-color:#00a3b3;"><i class="fa fa-eye" aria-hidden="true"></i></a></td>
        </tr>
        @endforeach
    </tbody>
</table>

详细的页

   <div class="container">
   <div class="row justify-content-center">
    <div class="col-16 col-md-12 col-lg-12 pb-7">
                <!--Form with header-->
                <form  method="post">
                    @foreach($detalhes as $d)
                    <div class="card border-primary rounded-0">
                        <div class="card-header p-0">
                            <div class="bg-info text-white text-center py-2">
                                <h3>Requisição de Chaves Detalhes || Keys Request Details</h3>
                            </div>
                        </div>
                        <div class="card-body p-3">

                            <!--Body-->
                            <div class="form-group">
                                  <label>Nome || Name</label>
                                    <input type="text" class="form-control" placeholder="{{$d->name}}" readonly>
                            </div>

                            <div class="form-group">
                                   <label>Email</label>
                                    <input type="email" class="form-control"  placeholder="{{$d->email}}" readonly>
                            </div>

                            <div class="form-group">
                                   <label>Departamento || Department</label>
                                    <textarea class="form-control" placeholder="{{$d->department}}" readonly></textarea>
                            </div>

                            <div class="form-group">
                                <div class="input-group mb-2">
                                   <label>Local || Site</label>
                                    <textarea class="form-control" placeholder="{{$d->site}}" readonly></textarea>
                            </div>

                             <br>

                            <div class="form-group">
                                   <label>Finalidade || Purpose</label>
                                    <input type="Quantidade" class="form-control"  placeholder="{{$d->purpose}}" readonly>
                            </div>


                            <div class="form-group">                                   
                                   <label>Período de uso das chaves || Period of use of the keys</label>
                                    <textarea class="form-control" placeholder="{{$d->till}} - {{$d->until}}" readonly></textarea>
                            </div>
                            <div class="text-center">
                                <a class="btn btn-danger" href=""><font color="white"> Rejeitar || Refuse </font></a>
                                 <a class="btn btn-success" href=""><font color="white"> Validar || Validate </font></a>
                            </div>
                        </div>
                    @endforeach
                    </div>
                </form>
                <!--Form with header-->

            </div>

标签: phphtmllaravelweblaravel-7

解决方案


首先是“id”列到数据库表中的主键,您需要确保它是这样的,这样您就不会拥有重复的产品。将您的查询编辑为$detalhes = DB::table('keysRequest')->find(id);. 之后,不需要使用循环来输出您的结果,因为它只有一项。只需使用{{$detalhes->something}}


推荐阅读