【发布时间】:2019-08-09 21:49:27
【问题描述】:
我有一个带有自定义验证规则的模型,在每个模型中我都有变量 $rules:
public static $rules = [...];
https://medium.com/@konafets/a-better-place-for-your-validation-rules-in-laravel-f5e3f5b7cc
我想在自定义请求中使用这些规则:
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Support\Facades\Auth;
class ModelRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return Auth::check() ? true : false;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return static::$rules;
}
}
我得到错误:
Access to undeclared static property: App\Http\Requests\ModelRequest::$rules
在控制器中:
public function store(ModelRequest $request)
{
...
}
这是全球性的。我需要获取模型实例,但是如何获取?
【问题讨论】:
-
你在哪个类中定义了静态
$rules属性? -
你在哪里定义了这个
$rules属性? -
@Jerodev 在模型中
-
哪个型号,因为它似乎不在
ModelRequest类中。 -
@mega6382 在模型中。请查看更新后的问题