Laravel:使用路由/模型绑定时表单请求中的访问模型实例
我在我的项目中为我的一个模型设置了一些路由/模型绑定,这很好。我能够在路由路径中使用绑定,并接受模型的实例作为控制器中相关方法的参数。
现在我正在尝试使用此模型进行一些工作,因此我在控制器中创建了一个接受表单请求的方法,以便我可以执行一些验证。
public function edit(EditBrandRequest $request, Brand $brand)
{
// ...
模型的每个不同实例都可以以不同的方式进行验证,因此我需要能够使用模型的实例来构建一组自定义验证规则。
有没有办法获取模型的实例,从表单请求注入到控制器中?
我尝试过在表单请求的构造函数中对模型实例进行类型提示
class EditBrandRequest extends Request
{
public function __construct(Brand $brand)
{
dd($brand);
}
我还尝试在表单请求的方法中对模型实例进行类型提示。rules()
class EditBrandRequest extends Request
{
// ...
public function rules(Brand $brand)
{
dd($brand);
在这两种情况下,我都提供了模型的空/新实例,而不是我期望的实例。
当然,我总是可以通过不打扰表单请求来解决这个问题,只需在控制器中生成规则并手动验证 - 但是如果可能的话,我宁愿以Laravel的方式进行。
谢谢