首页 > 解决方案 > 在请求验证文件中获取 url 变量

问题描述

我正在使用带有 id 变量的 url 来更新记录:

Route::patch('ProjectsRevenueUpdateAjax/{id}'...

我有我的控制器:

public function updateRevenue(ProjectRevenueUpdateRequest $request,$id)
    {
        // When using stdClass(), we need to prepend with \ so that Laravel won't get confused...
        $result = new \stdClass();
        $inputs = $request->all();
        $projectRevenueToUpdate = ProjectRevenue::find($id);
        $projectRevenueToUpdate->update($inputs);
        $result->result = 'success';
        $result->msg = 'Record updated successfully';

        return json_encode($result);
    }

所以我通过另一个文件 ProjectRevenueUpdateRequest 调用验证:

public function rules()
{
    $id = $this->id;
    $revenue = ProjectRevenue::find($id);
    $project_id = $revenue->project_id;
    $year = $this->year;
    $product_code = $this->product_code;
    return [
        'project_id' => 'required|unique:project_revenues,project_id,'.$id.',id,year,'.$year.',product_code,'.$product_code,
        'year' => 'required|unique:project_revenues,year,'.$id.',id,project_id,'.$project_id.',product_code,'.$product_code,
        'product_code' => 'required|unique:project_revenues,product_code,'.$id.',id,year,'.$year.',project_id,'.$project_id,
        'jan' => 'required',
        'feb' => 'required',
        'mar' => 'required',
        'apr' => 'required',
        'may' => 'required',
        'jun' => 'required',
        'jul' => 'required',
        'aug' => 'required',
        'sep' => 'required',
        'oct' => 'required',
        'nov' => 'required',
        'dec' => 'required',
    ];
}

我的问题是它无法从我的请求验证文件中的 url 获取 $id = $this->id 。我怎样才能做到这一点?

标签: laravel

解决方案


推荐阅读