2017-01-14 2 views
1

내가 drivers.blade.php라는 페이지가있는 내가 데이터베이스 에서 불과 몇 필드를 표시하고있어하고 난 사용자가 i '를 driver-details통과 데이터를 볼 수 laravel 5.3

로 이동해야 클릭에 view-more-linkdriver의 모든 세부 사항을 표시 m, 그것은 제품 및 제품 상세 페이지

내 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 }} &nbsp; {{ $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 }} &nbsp; {{ $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 

내 컨트롤러 같은 몇 가지 일이 나는 내 경로가

Route::resource('drivers', '[email protected]'); 
Route::resource('drivers-details', '[email protected]'); 

많은 도움이 필요

에 대한 기대

Sorry, the page you are looking for could not be found. 
NotFoundHttpException in RouteCollection.php line 161: 

다음과 같은 오류가있어 http://localhost:8000/driver-details 페이지로 이동하면 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')); 

} 

입니다

고맙습니다.

답변

2

Route::resource는 CRUD위한이 경로를보십시오. 당신이 [index, create, store, show, edit, update, destroy] 방법을 사용하지 않는 경우 당신은 대신에 다른 많은 방법 등 Route::get, Route::post 같은있다 Route::resource를 사용해서는 안

사용하고 있기 때문입니다 -

Route::get('drivers-details', '[email protected]'); 

http://localhost:8000/driver-details을 요구하는 이 노선 내에 등록되어 있지 않은 경우 http://localhost:8000/drivers-details을 방문하면 오류가 표시되지 않습니다. 당신은 또한 URL로 ID를 보낼 필요가

Route::get('drivers-details/{id}', '[email protected]'); 

을 - 컨트롤러, getDriverDetails($id)에서

, 당신은 매개 변수를 준,이처럼 사용하도록 경로에 등록해야 사용하기 norder에 액세스 할 수 - HTTP에

<a href="/drivers-details/{{ $driver->id }}" class="waves-effect waves-light btn green">View Details</a> 
4

http://localhost:8000/운전자 세부 사항 당신의 길은 운전자 세부 사항 인 동안 찾으려고 노력합니다.

+0

을하지만 지금은이 오류를 받고 있어요 : // localhost를 : 8000/드라이버 세부 사항 'DriversController.php 라인 ErrorException 142 : 인수 1 누락 앱에 대한 \ Http \ Controllers \ DriversCon troller :: getDriverDetails()' 드라이버 ID를 http : // localhost : 8000/driver-details/1로 추가하면 css 및 js없이로드됩니다. 어떻게 전달합니까? 드라이버 페이지에서 드라이버 세부 정보 페이지에 드라이버 ID를 입력하고 감사합니다. –

+0

도 경로를 설정해야합니다.Route :: resource ('drivers-details/{pid}', 'DriversController @ getDriverDetails')로 경로를 변경하십시오. 컨트롤러에서 함수에 매개 변수를 추가합니다. getDriverDetails ($ pid) – reza

+0

감사합니다. 드라이버의 ID를'driver' 페이지에서'driver-details' 페이지로 어떻게 넘겨주고 그 페이지의 세부 사항을 얻으십니까 –