В методе обновления мне нужно проверить, является ли имя проекта уникальным для всех проектов одного и того же клиента.
Поэтому мне нужно ограничить сравниваемые строки, используя закрытие где.Кроме того, идентификатор фактической строки следует игнорировать.Я не могу заставить его работать.Я попытался с «ignore», «ignoreModel» и с дополнительным условием where внутри замыкания.
Как использовать «старый» способ проверки нотации с подзапросом?Я использую laravel 5.6.
Как-то так с where
'bezeichnung' => 'required|unique:customers,bezeichnung,'.$Kunde,
$rules = [
'bezeichnung' => [
'required',
Rule::unique('projects')->where(function ($query) use($Data){
return $query
->where('kunde', $Data['kunde'])
;
})->ignoreModel($project)
]
];
$rules = [
'bezeichnung' => [
'required',
Rule::unique('projects')->where(function ($query) use($Data){
return $query
->where('kunde', $Data['kunde'])
;
})->ignore($Projekt)
]
];
$rules = [
'bezeichnung' => [
'required',
Rule::unique('projects')->where(function ($query) use($Data,$Projekt){
return $query
->where('kunde', $Data['kunde'])
->where('id','<>',$Projekt)
;
})
]
];