3. В процессе создания вопроса пользователь Сервиса обязан:
3.8. Использовать для демонстрации фрагментов кода только специальный тег < code> или специальные демонстрационные ресурсы.
Размещение фрагментов кода в виде изображений запрещено.
public function createNewTitles(Request $request) {
$validator = Validator::make($request->all(), [
'transaction' => 'required',
'targetBatton' => 'required',
'newItem' => [
// Исключить, если targetButton не равен add-category
'exclude_unless:targetButton,add-category',
'required',
'unique:categories,category',
],
'subNewItem' => [
// Исключить, если targetButton не равен add-subcategory
'exclude_unless:targetButton,add-subcategory',
'required',
'unique:categories,subcategory',
]
]);
if ($validator->fails()) {
return response()->json($validator->errors(), 422);
}
$transaction = $request->input('transaction');
$newItem = $request->input('newItem');
$targetButton = $request->input('targetBatton');
if ($targetButton == 'add-category') {
$categories = Category::where('transaction', $transaction)
->pluck('category')
->unique();
return response()->json($categories);
} elseif ($targetButton == 'add-subcategory') {
$subcategories = Category::where([
'transaction' => $transaction,
'category' => $newItem
])->pluck('subcategory');
return response()->json($subcategories);
}
}
Ты всегда можешь запустить интерпретатор
public function validateItems($request, $rules): bool|Validator {
$validator = Validator::make($request->all(), $rules);
if ($validator->fails()) {
return $validator;
}
return true;
}
public function createNewTitles(Request $request) {
if ($targetButton == 'add-category') {
$rules = ['newItem' => 'required|unique:categories,category'];
$resultValidation = $this->validateItems($request, $rules);
if ($resultValidation instanceof Validator) {
return response()->json($resultValidation->errors(), 422);
}
...
}
public function validateItems($request, $rules): Validator {
return Validator::make($request->all(), $rules);
}
public function createNewTitles(Request $request) {
if ($targetButton == 'add-category') {
$rules = ['newItem' => 'required|unique:categories,category'];
$validator = $this->validateItems($request, $rules);
if ($validator->fails()) {
return response()->json($validator->errors(), 422);
}
...
}
Только я не совсем понял, почему методу createNewTitles() нужно получать ответ?
Не подскажете а из reflog можно как-то восстановить task todo-func ?