【问题标题】:Laravel error: Missing argument 1 for App\Http\Controllers\CityController::show()Laravel 错误:缺少 App\Http\Controllers\CityController::show() 的参数 1
【发布时间】:2015-12-01 04:17:01
【问题描述】:

所以,这是我的 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, 谁能帮我?因为我不明白我的代码到底有什么问题

【问题讨论】:

  • 当您转到页面并将鼠标悬停在链接上时,它会说什么?
  • 所以,这就是错误在 CityController.php 第 13 行中所说的 ErrorException:App\Http\Controllers\CityController::show() 缺少参数 1 有关错误的更多详细信息:link
  • 正如@PawelBieszczad 所说,您的链接似乎不对。悬停链接,它说什么?它是否显示类似host/city/a_numer 的内容?
  • 所以,在我点击链接之前,它是 'localhost/ins-laravel1/public/city' 悬停链接后,它是 'localhost/ins-laravel1/public/city/1'
  • 首先,您的网络服务器配置不正确。您必须将公用文件夹设置为您的 apache 根文件夹(假设您使用的是 Apache)。

标签: laravel-5


【解决方案1】:

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

我认为问题可能在于您加载页面的方式。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-12
    • 2019-01-01
    • 1970-01-01
    相关资源
    最近更新 更多