Rubenwouters\CrmLauncher\Controllers\CasesController::searchByCaseType PHP Method

searchByCaseType() private method

Filter search results by case type
private searchByCaseType ( array $cases, Illuminate\Http\Request $request ) : object
$cases array
$request Illuminate\Http\Request
return object
    private function searchByCaseType($cases, $request)
    {
        $caseTypes = $request->input('cases');
        if ($caseTypes != null) {
            $cases->where(function ($q) use($request) {
                foreach ($request->input('cases') as $i => $value) {
                    $q->orWhere('status', $value);
                    static::$arActive[] = $value;
                }
            });
            $cases = $cases->orderBy('id', 'DESC')->paginate(self::ITEM_PER_PAGE);
            if (in_array('my_cases', $caseTypes)) {
                unset($arActive);
                $cases = Auth::user()->cases()->where('status', '1')->paginate(self::ITEM_PER_PAGE);
                $arActive[0] = 'my_cases';
            }
        } else {
            $cases = $cases->orderBy('updated_at', 'DESC')->where('status', '!=', '2')->orderBy('id', 'DESC')->paginate(self::ITEM_PER_PAGE);
        }
        return $cases;
    }