Laravel没有将模型加载到路线中

时间:2017-06-03 02:34:04

标签: php laravel laravel-5

我目前正在开发PHP Laravel应用程序,到目前为止一切进展顺利。然而,我最近的资源FreightRequest导致了极其奇怪的行为,我无法弄清楚。

我的路线文件包含以下内容:

Route::resource('freightrequests', 'FreightRequestController');

当我访问http://localhost/freightrequests/1时,laravel未将模型正确绑定到我的FreightRequestController@show方法。

我的方法如下:

public function show(FreightRequest $freightRequest)
{
    dd($freightRequest);

    return view('freightrequests.show', compact('freightRequest'));
}

以上结果导致以下转储:

FreightRequest {#429 ▼
  #connection: null
  #table: null
  #primaryKey: "id"
  #keyType: "int"
  +incrementing: true
  #with: []
  #withCount: []
  #perPage: 15
  +exists: false
  +wasRecentlyCreated: false
  #attributes: []
  #original: []
  #casts: []
  #dates: []
  #dateFormat: null
  #appends: []
  #events: []
  #observables: []
  #relations: []
  #touches: []
  +timestamps: true
  #hidden: []
  #visible: []
  #fillable: []
  #guarded: array:1 [▶]
}

事实上,如果我去了一个不存在的身份证http://localhost/freightrequests/12343243,Laravel就不会抛出NotFoundHttpException。如果我访问http://localhost/users/12343243,我会收到NotFoundHttpException。除了这一个资源外,我的所有其他资源都运行良好。

我甚至试图抛弃Route::resource并将其替换为:

Route::get('freightrequests/{freightrequest}', 'FreightRequestController@show')->name('freightrequests.index');

我尝试重命名模型,控制器,路线和所有内容以防万一有冲突导致Laravel无法检索模型。它似乎是注入正确的类实例,但实际上并没有尝试从服务器获取它。我已经尝试清除缓存了。我绝对无法弄清楚为什么这个特定的模型不起作用,因为我的其他6个左右的资源在没有问题的情况下工作。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

我在发布问题后不久发现了这个问题:

public function show(FreightRequest $freightRequest)
{
   dd($freightRequest);

   return view('freightrequests.show', compact('freightRequest'));
}

应该是:

public function show(FreightRequest $freightrequest)
{
    dd($freightrequest);

    return view('freightrequests.show', compact('freightrequest'));
}

在尝试绑定参数时区分大小写很重要,我花了很长时间才意识到R是资本:)