(laravel)是否可以通过传递id以外的字段来使用方法注入?

布鲁诺·加西亚(Bruno Garcia)

我对Laravel还是陌生的,并且试图从方法(依赖)注入中获得最大收益,同时还旨在保持良好的url结构(用于SEO)。

就是这种情况:我正在呼叫路由,并在其末尾附加了一个变量,如下所示:www.mywebsite.com/user/id

并使用如下方法将其发送给控制器:

public function listUsers(User $user){
   dd($user);
}

那很好。如果我访问www.mywebsite.com/user/3,Laravel将自动为我获取ID = 3的用户

但是,为了获得更好的SEO,我需要将该URL更改为如下所示:www.mywebsite.com/users/nickname。

是否可以以与我当前使用的方式类似的方式使用方法注入,但是使用id以外的其他字段(在这种情况下,昵称)来从数据库中获取User对象?

如果可以的话,我该怎么办?

我可以手动完成,但我想充分利用Laravel。

谢谢您的宝贵时间,此外,我正在学习英语,因此,如果您是说英语的母语者或能说流利的英语,请您指出我的语法错误(简而言之,不影响帖子内容),我们将不胜感激。

布鲁诺

马尔辛·纳比亚列克(MarcinNabiałek)

在这种情况下,您需要在UserEloquent模型中定义以下方法:

public function getRouteKeyName()
{
    return 'nickname';
}

您可以在“路由模型”绑定文档中阅读有关它的更多信息

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

是否可以通过检查对对象的引用而不是方法结果来使用可选的?

是否可以通过方法引用传递参数?

如何通过Laravel的list()传递ID和名称以外的信息

我是否可以在Windows 10上通过使用VBA宏来使用bash命令?

您是否可以在init方法内使用方法?

是否可以通过仅提供作业名称的开头来使用 `sacct --name`?

是否可以通过使用 TinyGo 编译 Go 二进制文件来使其更小?

是否应该通过使用存储过程获取字段长度来使字段长度动态化?

MongoDB-是否可以通过_id字段比较文档?

我可以通过在 express 中的 router.use() 中传递它来使用 api 速率限制器吗?

是否可以通过方法同时传递对象和附加参数?

条款查询机制可以通过ID以外的其他字段查询吗?

是否可以使用Ninject注入显式实现的方法?

Laravel 5 IoC容器在使用方法注入时无法解析上下文绑定

是否可以使用 for 循环来使用按钮显示值?

通过crontab进行MySQLdump-传递--password = / hashed / password / file,因此我可以通过crontab不使用纯文本密码来使用

是否可以使用jQuery来使scrollTop动画化?

是否可以在 Laravel 中多次使用传递的参数?

应该使用方法参数还是通过引用传递命令信息以进行汇总?

是否可以通过id在查找视图中将对象参数作为id传递

是否可以在Dagger中混合使用构造函数和字段注入?

通过使用load()将数据注入字段

是否可以在 Linq 中按方法在组中使用方法?

React Admin:我可以在<ReferenceInput>中使用除“ id”以外的其他字段吗?

是否可以通过使用Java Reflection从注入的DEX获取应用程序的类对象?

使用简单注入器,是否可以通过其实现类型获得单例?

通过隐藏的表单字段传递ID

通过使用方法扩展类是否是一种好习惯?

Appium:可以使用元素的ID来使应用程序自动化的任何解决方法