【问题标题】:Laravel 5.8 - Specified type Model for route paramtetersLaravel 5.8 - 路由参数的指定类型模型
【发布时间】:2020-10-22 00:23:57
【问题描述】:

我的 Laravel 应用程序(5.8 版)中存在路由冲突问题。

以下是有问题的 2 条路线:

Route::post('/projets/{projet}/{redirect}','ProjetController@update')->name('projets.update');
Route::post('/projets/export/excel', 'ProjetController@exportExcel')->name('projets.exportExcel');

第一个参数“projet”应该是一个模型对象“Projet”,“redirect”是一个字符串。

但我没有指定这些参数的类型,我想知道是否有人知道我如何指定“projet”参数是一个对象“Projet”(如果可能的话?) .

提前致谢

【问题讨论】:

  • 通配符路由需要在任何其他可能匹配的路由之后。
  • @aynber 是的,我已经像你说的那样更改了路由配置,现在可以正常工作了,谢谢!你是否可以为路由参数指定模型对象类型?

标签: php laravel routes laravel-5.8


【解决方案1】:

我认为,在您的 ProjetController update 方法中,您可以使用此签名:

public function update(Request $request, App\Projet $projet, string $redirect){
   // Use posted values with $request Object,
   // Use $projet model
   // Use $redirect string

}

您可以在documentation 中探索详细信息。

【讨论】:

  • 您好,感谢您的回答,已经完成:public function update(ProjetRequest $projetRequest, Projet $projet,String $redirect) 但没有使用这个...
  • 你的参数呢?你能告诉我们你的请求网址吗?
  • 感谢您的回答,问题已经解决,问题来自于路由冲突配置。
猜你喜欢
  • 2017-01-10
  • 2017-07-06
  • 2018-07-28
  • 2021-05-24
  • 2020-11-08
  • 1970-01-01
  • 2020-01-23
  • 1970-01-01
  • 2016-06-04
相关资源
最近更新 更多