我有一个名为drivers.blade.php
的页面,其中仅显示数据库中的几个字段
我有一个view-more-link
,点击后用户应该转到driver-details
我在其中显示驱动程序
的所有详细信息,例如产品和产品详细信息页面
我的drivers.blade.php
@foreach($drivers as $driver)
<div class="col s12 m6 l3">
<div class="card small card-driver">
<div class="card-image">
<img src="assets/images/profile-image-2.png" alt="">
</div>
<div class="card-content">
<div class="card-details">
<p>Name:</p><span>{{ $driver->first_name }} {{ $driver->last_name }}</span>
</div>
<div class="card-details">
<p>Phone:</p><span>{{ $driver->phone_number }}</span>
</div>
<div class="card-details">
<p>Address:</p>
<span>
{{ $driver->address_city_village }} {{ $driver->address_state }}
</span>
</div>
</div>
<div class="card-action">
<a href="driver-details" class="waves-effect waves-light btn green">View Details</a> //onclick go to that perticular driver details by passinf id
</div>
</div>
</div>
@endforeach
我的 Controller 是DriverController.php
public function getDrivers()
{
$drivers = Driver::all();
return view('drivers', compact('drivers'));
}
public function getDriverDetails($id)
{
$driver = Driver::find($id);
if(! $driver) {
return $this->respondNotFound();
}
return view('drivers-details', compact('driver'));
}
如果我转到http://localhost:8000/driver-details
页面,我会收到以下错误
Sorry, the page you are looking for could not be found.
NotFoundHttpException in RouteCollection.php line 161:
我的路线是
Route::resource('drivers', 'DriversController@getDrivers');
Route::resource('drivers-details', 'DriversController@getDriverDetails');
期待急需的帮助
谢谢
最佳答案
Route::resource
仅适用于 CRUD。如果您没有使用[index, create, store, show, edit, update, destroy]
方法那么你不应该使用 Route::resource
相反,还有许多其他方式,例如 Route::get
, Route::post
等
这是因为你正在使用--
Route::get('drivers-details', 'DriversController@getDriverDetails');
并请求http://localhost:8000/driver-details
如果您访问http://localhost:8000/drivers-details
,则它未在路线内注册您不会收到错误。
在您的 Controller 中,getDriverDetails($id)
,您给出了一个参数,要使用它,您需要将其注册到您的路由中才能像这样使用它 -
Route::get('drivers-details/{id}', 'DriversController@getDriverDetails');
您还需要将 id 发送到 url Norder 才能访问它 --
<a href="/drivers-details/{{ $driver->id }}" class="waves-effect waves-light btn green">View Details</a>
关于php - Laravel 5.3 View 之间传递数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41650281/