如何在laravel中的类别下验证唯一性的唯一性

问题描述 投票:0回答:3

我有两个表categoriessub_categories。我想验证subcategories表的name字段在同一类别下是唯一的。

子类别表字段

id |名称| category_id

使用Laravel验证,我正在使用此代码,但收到错误消息ErrorException Undefined variable:request

public function update(Request $request, $id)
    {

       $validatedData = $request->validate([
          'category_id' => 'required|numeric|min:1',
          'name' => [
            'required', 'max:255',
            Rule::unique('sub_categories')->ignore($id)->where(function($query){
              return $query->where('category_id',$request->category_id);
            })
          ],

      ]);
    }
laravel validation
3个回答
0
投票

使用use($request)在条件内传递$ request实例

 public function update(Request $request, $id)
    {

        $validatedData = $request->validate([
            'category_id' => 'required|numeric|min:1',
            'name' => [
                'required', 'max:255',
                Rule::unique('sub_categories')->ignore($id)->where(function ($query) use($request) {
                    return $query->where('category_id', $request->category_id);
                }),
            ],

        ]);
    }

0
投票
public function update(Request $request, $id){
        request()->validate([
            'category_id' => 'required|numeric|min:1',
            'name'=> 'required|Max:255|unique:sub_categories,name,'. $id.',id'
        ]);
    }

0
投票
   $this->validate($request,[
        'name' => 'required|unique:categories',
    ]);
© www.soinside.com 2019 - 2024. All rights reserved.