public function showSimpleCodes($date) { $date = date_create($date); $sc = new Settings_controller(); $codes = $sc->getSimpleVksCodeParams(); $codeRange = range(floatval($codes->code['start']), floatval($codes->code['end'])); $rangeStringed = []; foreach ($codeRange as $code) { $rangeStringed[] = (string) $code; } if (count($rangeStringed)) { $vkses = Vks::simple()->where('date', $date)->with(['connection_codes' => function ($query) use($rangeStringed) { $query->whereIn('value', $rangeStringed); }])->get(); $collected = []; foreach ($rangeStringed as $code) { $collected[$code] = []; foreach ($vkses as $vks) { foreach ($vks->connection_codes as $code_vk) { $code_vk->value == $code ? $collected[$code][] = $vks : false; } } } $date = $date->format('d.m.Y'); $this->render('Dashboards/showSimpleCodes', compact('collected', 'date')); } else { die('range is corrupted'); } }