Laravel 5 - 用于更新的NotFoundHttpException

时间:2016-03-03 17:30:55

标签: laravel laravel-5 laravel-5.1

我有一个奇怪的情况,我正在努力解决。我的路线文件中有以下内容

Route::model('campaigns.campaignEmailLinks', 'CampaignEmailLinks');
Route::resource('campaigns.campaignEmailLinks', 'CampaignData\CampaignEmailLinksController', ['except' => ['index', 'create', 'show', 'edit', 'destroy']]);

如果我查看我的路线,我可以看到我的期望

campaigns/{campaigns}/campaignEmailLinks                            | campaigns.campaignEmailLinks.store
campaigns/{campaigns}/campaignEmailLinks/{campaignEmailLinks}       |
campaigns/{campaigns}/campaignEmailLinks/{campaignEmailLinks}       | campaigns.campaignEmailLinks.update

我有一个带有存储和更新功能的CampaignEmailLinksController。创建视图的表单看起来像这样

{!! Form::model(new App\CampaignModels\CampaignEmailLinks, [
     'class'=>'form-horizontal',
     'route' => ['campaigns.campaignEmailLinks.store', $campaign->id]
 ]) !!}

对于编辑视图,它看起来像这样

{!! Form::model($campaign->campaignEmailLinks, [
     'class'=>'form-horizontal',
     'method' => 'PATCH',
     'route' => ['campaigns.campaignEmailLinks.update', $campaign, $campaign->campaignEmailLinks]
 ]) !!}

这有点奇怪。我的创建视图显示,我输入数据,它成功保存到我的数据库没有任何问题。然后它显示编辑页面没有任何问题。但是,如果我尝试保存在编辑表单上,我会得到一个NotFoundHttpException。

这与我处理其他模型的过程相同,但这些都没有任何问题。路线必须正确,否则创造不起作用,不是吗?

我错过了一些明显的东西吗?有什么方法可以获得更详细的错误信息,看看确切的问题是什么,或者它在哪里?

任何赞赏的信息。

由于

1 个答案:

答案 0 :(得分:0)

我认为编辑时应该是代码:

 {!! Form::model($campaign, ['method' => 'PUT', 'class'=>'form-horizontal', 'route' => ['campaigns.campaignEmailLinks.update', $campaign->campaignEmailLinks]) !!}

尝试一下它可能会解决:)