Посмотрите как элегантно можно это делать: https://bosnadev.com/2015/03/07/using-repository-p...
Сам пользуюсь аналогом 1 в 1 который когда то написал сам. Не могу нарадоваться когда проект вырос в тысячи строк кода, львиную долю которых занимают сложные фильтрации данных. С помощью такого подхода в коде всегда порядок. Дублирование кода фильтрации моделей тоже исключено.
JhaoDa: Ну очевидно же)) Спасибо) у меня была унаследована от \Illuminate\Support\Collection вместо\Illuminate\Database\Eloquent\Collection .. развели разных классов с одинаковым предназначением)
Прежде чем проверить не стоит ли она на газу вы проверяете есть ли у вас в квартире газ, что бы это проверить вы выбираете один из способов: 1. Посмотрите какая у вас плита 2. Оглянётесь вокруг, что бы понять есть ли газовая труба или установлен баллон.
Если выбрали вариант 1: Смотрите есть ли у вас вообще плита. Если есть, то проверьте - стоит ли она на полу. Если стоит, то надо проверить установлена ли она в соответствии с нормами безопасности.
Если выбрали вариант 2: Если труба, то проверяем не перекрыта ли она. Если баллон - есть ли газ..
Таким образом проверки можно писать бесконечно. Не забывайте про Exceptions
Не знаю насчет бесплатных, вот за небольшую плату www.moysklad.ru, прогнозирования там не видел. Мы для многих заказчиков писали свои системы складского учета под их конкретные требования..
Нужно отталкиваться от оборудования, которое стоит на ящиках. Скорее всего вам не подойдет коробочное решение от производителей софта. Лучше обратиться в компанию, которая специализируется на написании софта под платежные терминалы, они смогут написать софт под конкретно ваше оборудование.