【发布时间】:2019-06-02 19:35:15
【问题描述】:
有没有办法在 Laravel Nova 中将默认的 RouteKey Name 从 ID 更改为 UUID?
在我的默认模型上,这已经更改了,但我也想在 Laravel Nova 后端中更改它。
public function getRouteKeyName()
{
return 'uuid';
}
【问题讨论】:
标签: laravel laravel-5 routes uuid laravel-nova
有没有办法在 Laravel Nova 中将默认的 RouteKey Name 从 ID 更改为 UUID?
在我的默认模型上,这已经更改了,但我也想在 Laravel Nova 后端中更改它。
public function getRouteKeyName()
{
return 'uuid';
}
【问题讨论】:
标签: laravel laravel-5 routes uuid laravel-nova
据我所知,这个问题的答案是否。
也就是说,Laravel Nova 框架当然可以扩展以支持此功能。
此代码是InteractsWithResources 关注点的一部分,其中有一个findModelKey 方法,它使用whereKey 方法,它与主键配对,而不是路由键。
我确信我们可以请求 Laravel 框架向 Eloquent 查询构建器添加 whereRouteKey,然后建议 Nova 框架使用新的 whereRouteKey 而不是 whereKey 方法。
除此之外,唯一的另一种选择是使用您自己的设计重新绑定 Nova 请求,这需要大量工作,坦率地说不是最佳实践。
考虑到所有这些,我有点期待 Nova 开箱即用的这个功能,如果 Nova 违反了这一点,我会认为这是一个错误(因为这就是路由模型绑定的全部意义)。
【讨论】: