【发布时间】:2016-09-17 18:17:04
【问题描述】:
我在我的项目中为我的一个模型设置了一些路由/模型绑定,并且效果很好。我可以在我的路由路径中使用我的绑定,并接受我的模型实例作为我控制器中相关方法的参数。
现在我正在尝试使用这个模型做一些工作,所以我在我的控制器中创建了一个接受表单请求的方法,以便我可以进行一些验证。
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 方式。
谢谢
【问题讨论】: