Следующая структура данных, с которой вы можете сделать несколько полезных трюков и должна быть доступна, так как я понимаю ваш домен.
$tools = collect(['tool1' => $tool1, 'tool2' => $tool2, 'tool3' => $tool3]);
Найти все инструменты, в которых число больше 0, filter()
удаляет все нулевые значения и так как 0 == ноль. Чтобы подтвердить ввод, нам нужно только имя, мы получаем это с keys()
.
// Should return 'tool1' and 'tool2' in an array from your example
$toolsOwned = $toolsOwned->filter()->keys();
Теперь мы можем использовать проверку In()
, чтобы проверить правильность ввода.
use Illuminate\Validation\Rules\In;
...
'tool' => ['required', new In($toolsOwned->all())],