Laravel 5 Route错误无法正常工作

时间:2017-06-19 04:32:21

标签: php laravel laravel-5 routes

我是laravel 5.4的新手。我想要做的是当我按下See Here绿色按钮时,所有细节都需要根据相关的Trainee_ID.for在名为seedetails.blade.php的新视图中显示例如,如果按下MOB / TR 1741,请参阅详细信息按钮,数据库中的所有数据只需根据该ID显示。看到界面。

enter image description here

该观点的相关观点。

 <table class="table table-striped">
                  <thead>
                    <th>Trainee ID</th>
                    <th>Name with Initials</th>
                    <th>Working Division</th>
                    <th>Starting Date</th>
                    <th>Ending Date</th>
                    <th>See All the Details<</th>
                  </thead>
                  <tbody>
                    @foreach($items as $item)
                     <tr>
                  <td>{{ $item->trainee_id }}</td>
                  <td>{{ $item->name_with_initials }}</td>
                  <td>{{ $item->trainee_division }}</td>
                  <td>{{ $item->start_date }}</td>
                  <td>{{ $item->end_date }}</td>
                   <td>
                   <a  class="btn btn-success" href="Seedetails/{{ $item->traninee_id }}">See Here</a>
                 </td>
              </tr>
                    @endforeach
                  </tbody>
          </table>

根据trainee_id

,这是反向数据的必要控制器
public function user_details($traninee_id)
{
    $trainee_details= registerdetails::where('id','=',$traninee_id)->get()->first();
     return view('registeredusers.seedetails', compact('trainee_details'));
}

这是seedetails.blade.php,它应该检索数据并显示。它链接到上面的视图看到按钮,见代码。

`<div class="panel panel-default">
            <div class="panel-body">
             <div class="col-md-6 col-md-offset-3">
             <table class="table table-bordered">

              <tbody>
                  <tr>
                    <td>Full Name</td>
                    <td>{{ $item->full_name }}</td>
                  </tr>

                  <tr>
                    <td>Nic No</td>
                    <td>{{ $item->nic_no }}</td>
                  </tr>

                  <tr>
                    <td>Date Of Birth</td>
                    <td>{{ $item->date_of_birth }}</td>
                  </tr>
              </tbody>
             </table> 
             </div>
             </div>
             </div>
</div>

以下是该视图的路线

Route::get('Seedetails/{id}', 'UserRegisterController@user_details');

然后这是我按下查看详情按钮时的错误。

enter image description here

3 个答案:

答案 0 :(得分:1)

你犯了一个大错误,试着把你在数据库中的列名称传递给路由,这样你就不会犯错,反正在html中尝试这个

<td>
<a class="btn btn-success" href="Seedetails/{{ $item->trainee_id }}">See Here</a>
</td>

如果可能,请将您的路线重命名为

Route::get('Seedetails/{trainee_id?}', 'UserRegisterController@user_details')->where('trainee_id', '(.*)');;

答案 1 :(得分:0)

您可能必须使用URL Helper

  <a  class="btn btn-success" href="{{ URL::to('Seedetails/'.$item->traninee_id) }}">See Here</a>

或者

<a  class="btn btn-success" href="{{ url('Seedetails/'.$item->traninee_id) }}">See Here</a>

更多助手请参阅https://laravel.com/docs/5.4/helpers#urls

答案 2 :(得分:0)

您可以使用正则表达式尝试此操作。因为在实习生id中包含斜杠:  可能是你错误地在网址中错误地记录了实习生ID。

 <a  class="btn btn-success" href="{{url('/',[$item->trainee_id])}}">See Here</a>

使用此路线

Route::any('{id}','UserRegisterController@user_details')->where('id', '(.*)');