【发布时间】:2019-09-01 06:50:56
【问题描述】:
我想获取一条记录并使用它执行验证。
所以我看到两个选项在控制器中使用验证和使用表单请求
我更喜欢使用表单请求
所以根据一个文档我可以在表单请求中获取一条记录并使用它。
但问题是我也需要控制器中的记录,所以如果我这样做,我会加载两次记录。
我正在解决表单请求中的属性问题
例如
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
$this->post = Post::find($this->input('id'));
return [
... // my rules base on $this->post
];
}
然后在控制器中,我可以访问帖子值
public function store(PostPublishCreate $request)
{
$request->post;
....
1.但是我在这种情况下很困惑,我的方式有问题吗?在 laravel 中是否有更好的解决方案?
2.在这个例子中我没有使用依赖注入,那么我该如何使用依赖注入呢?
public function store(PostPublishCreate $request,Post $post)
{
// how to prevent to my record provided twice
// PostPublishCreate load post because of the rules
// Post loaded again with DI
....
- 我尝试使用
Rule类进行自定义验证,但我不确定如何在不重新加载的情况下将记录传递给Rule
【问题讨论】:
标签: laravel