我有两个表categories和sub_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);
})
],
]);
}
使用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);
}),
],
]);
}
public function update(Request $request, $id){
request()->validate([
'category_id' => 'required|numeric|min:1',
'name'=> 'required|Max:255|unique:sub_categories,name,'. $id.',id'
]);
}
$this->validate($request,[
'name' => 'required|unique:categories',
]);