. */ declare(strict_types=1); namespace FireflyIII\Support\Binder; use FireflyIII\Models\Budget; use Illuminate\Support\Collection; use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; /** * Class BudgetList. */ class BudgetList implements BinderInterface { /** * @param $value * @param $route * * @return mixed */ public static function routeBinder($value, $route): Collection { if (auth()->check()) { $ids = explode(',', $value); /** @var \Illuminate\Support\Collection $object */ $object = Budget::where('active', 1) ->whereIn('id', $ids) ->where('user_id', auth()->user()->id) ->get(); // add empty budget if applicable. if (in_array('0', $ids)) { $object->push(new Budget); } if ($object->count() > 0) { return $object; } } throw new NotFoundHttpException; } }