Hw我可以在php artisan make:request发出的请求中获取Url参数(例如id)吗

Hw我可以在php artisan make:request发出的请求中获取Url参数(例如id)吗,php,laravel,Php,Laravel,我想创建一个由php artisan make:Request发出的请求,我可以在其中添加一个参数,例如,我在控制器中有以下验证器: $validator = Validator::make($request->all(), [ 'title' => 'required|unique:posts|max:{{number}}', 'body' => 'required', ]); 其中编号来自url参

我想创建一个由php artisan make:Request发出的请求,我可以在其中添加一个参数,例如,我在控制器中有以下验证器:

      $validator = Validator::make($request->all(), [
            'title' => 'required|unique:posts|max:{{number}}',
            'body' => 'required',
        ]);
其中编号来自url参数 如何在请求类中获取此url参数

这是我的请求类:

<?php

namespace Modules\Blog\Http\Requests;

use Illuminate\Contracts\Validation\Validator;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Http\Exceptions\HttpResponseException;

class SaveBlogCategoriesRequest extends FormRequest
{
    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        dd($request->param);
        return [
            'lang' => 'required',
            'name' => 'required',
            'slug' => "required|unique:blog_categories_id,slug,", // here I want to add id from param
        ];
    }

    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
    }

    protected function failedValidation(Validator $validator)
    {
        $data = [
                'status' => false,
                'validator' => true,
                'msg' => [
                    'e' => $validator->messages(),
                    'type' => 'error'
                ],
        ];

        throw new HttpResponseException(response()->json($data));
    }
}


对于请求类,您不需要实例化验证器

class ModelCreateRequest扩展了FormRequest
{
/**
*获取应用于请求的验证规则。
*
*@return数组
*/
公共职能规则()
{
//如果需要输入,可以通过$this->request访问;
$param=$this->request->get('param');
//或者你也可以直接访问它(是的,我知道这不是直观的)
$param=$this->param
返回[
“lang”=>“必需”,
“名称”=>“必需”,
'slug'=>“必需|唯一:blog_categories_id,slug,”.$param,
];
}
}

对于请求类,您不需要实例化验证器

class ModelCreateRequest扩展了FormRequest
{
/**
*获取应用于请求的验证规则。
*
*@return数组
*/
公共职能规则()
{
//如果需要输入,可以通过$this->request访问;
$param=$this->request->get('param');
//或者你也可以直接访问它(是的,我知道这不是直观的)
$param=$this->param
返回[
“lang”=>“必需”,
“名称”=>“必需”,
'slug'=>“必需|唯一:blog_categories_id,slug,”.$param,
];
}
}

使用
dd($this)
获取请求类中的请求对象

使用
dd($this)
获取请求类中的请求对象

$request->param
如果您的参数名是id,那么就像
$request->id
我的请求类中没有$request使用
request()
而不是
$request
使用$validated=$request->validated()@德米特里,但是。。。“我的请求类中没有$request”
$request->param
如果您的参数名是id,那么就像
$request->id
我的请求类中没有$request使用
request()
而不是
$request
使用$validated=$request->validated()@德米特里,但是。。。“我的请求类中没有$request”,但如果我想从请求类中的Route::get('controllerMethod/{key}',$controller.'controllerMethod')获取key的值;可能吗?@Marius同样,使用
$this->key
但如果我想从我的请求类中的Route::get('controllerMethod/{key}',$controllerMethod')获取key的值;有可能吗?@Marius same,使用
$this->key