title: Laravel error: Missing argument 1 for App\Http\Controllers\CityController::show()
body: <p>So, this is my route.php code</p>
  
  <pre><code>Route::get('/city','CityController@index');
  Route::get('/city/{id}','CityController@show');
  </code></pre>
  
  <p>This is my CityController.php</p>
  
  <p>
  
  <pre><code>use Illuminate\Routing\Controller;
  use DB;
  class CityController extends Controller{
  
  public function index(){
      $cities = DB::table('city')-&gt;get();
      return view('homesite',compact('cities'));
  }   
  public function show($id){    //this line is having the eror
      $city = DB::table('city')-&gt;find($id);
      return view('citysite',compact('city'));
  }
  </code></pre>
  
  <p>}
  This is homesite.blade.php</p>
  
  <pre><code>@extends('layout.master')
  @section('content')
  @foreach($cities as $city)
  &lt;li&gt;&lt;a href="city/{{$city-&gt;id}}"&gt;{{$city-&gt;cityName}}&lt;/a&gt;&lt;/li&gt;   
  @endforeach
  @stop
  </code></pre>
  
  <p>This is citysite.blade.php</p>
  
  <pre><code>@extends('layout.master')
  @section('content')
  &lt;h2&gt;{{ $city-&gt;cityName }}&lt;/h2&gt;
  @stop
  </code></pre>
  
  <p>So, the error said that 
  <strong>Missing argument 1 for App\Http\Controllers\CityController::show()</strong>, 
  can anyone help me? Because I don't understand what's really wrong with my codes</p>