Laravel错误:App \ Http \ Controllers \ CityController :: show()缺少参数1

时间:2015-05-12 16:14:06

标签: laravel-5

所以,这是我的route.php代码

Route::get('/city','CityController@index');
Route::get('/city/{id}','CityController@show');

这是我的CityController.php

use Illuminate\Routing\Controller;
use DB;
class CityController extends Controller{

public function index(){
    $cities = DB::table('city')->get();
    return view('homesite',compact('cities'));
}   
public function show($id){    //this line is having the eror
    $city = DB::table('city')->find($id);
    return view('citysite',compact('city'));
}

} 这是homesite.blade.php

@extends('layout.master')
@section('content')
@foreach($cities as $city)
<li><a href="city/{{$city->id}}">{{$city->cityName}}</a></li>   
@endforeach
@stop

这是citysite.blade.php

@extends('layout.master')
@section('content')
<h2>{{ $city->cityName }}</h2>
@stop

所以,错误说 App \ Http \ Controllers \ CityController :: show()缺少参数1, 谁能帮我?因为我不明白我的代码究竟出了什么问题

1 个答案:

答案 0 :(得分:0)

当我们调用show($ id)这样的函数时,它意味着它(show函数)从调用页面接收数据。

我认为问题可能与您加载页面的方式有关。