mapToGroups(function ($item, $key) { list($tipo, $id) = explode('_', $item['id']); return [$tipo => $id]; }); $destinatari = $riferimento->destinatari() ->where(function ($query) use ($results) { $query->where('record_type', '=', Anagrafica::class) ->whereIn('record_id', !empty($results['anagrafica']) ? $results['anagrafica']->toArray() : []); }) ->orWhere(function ($query) use ($results) { $query->where('record_type', '=', Sede::class) ->whereIn('record_id', !empty($results['sede']) ? $results['sede']->toArray() : []); }) ->orWhere(function ($query) use ($results) { $query->where('record_type', '=', Referente::class) ->whereIn('record_id', !empty($results['referente']) ? $results['referente']->toArray() : []); }); } // Elenco di tutti i destinatari else { $destinatari = $riferimento->destinatari(); } $start = filter('start'); $length = filter('length'); // Filtro dei record richiesti $destinatari_filtrati = (clone $destinatari) ->skip($start)->take($length) ->get(); $id_modulo_anagrafiche = (new Module())->getByField('name', 'Anagrafiche', \Models\Locale::getPredefined()->id); $righe = []; foreach ($destinatari_filtrati as $destinatario) { $origine = $destinatario->getOrigine(); $anagrafica = $origine instanceof Anagrafica ? $origine : $origine->anagrafica; $descrizione = $anagrafica->ragione_sociale; if ($origine instanceof Sede) { $descrizione .= ' ['.$origine->nomesede.']'; } elseif ($origine instanceof Referente) { $descrizione .= ' ['.$origine->nome.']'; } $tipo_anagrafica = $database->fetchOne('SELECT GROUP_CONCAT(`an_tipianagrafiche_lang`.`name`) AS descrizione FROM `an_tipianagrafiche_anagrafiche` INNER JOIN `an_tipianagrafiche` ON `an_tipianagrafiche_anagrafiche`.`idtipoanagrafica` = `an_tipianagrafiche`.`id` LEFT JOIN `an_tipianagrafiche_lang` ON (`an_tipianagrafiche`.`id` = `an_tipianagrafiche_lang`.`id_record` AND `an_tipianagrafiche_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `an_tipianagrafiche_anagrafiche`.`idanagrafica`='.prepare($anagrafica->id))['descrizione']; $riga = [ Modules::link('Anagrafiche', $anagrafica->id, $descrizione), $tipo_anagrafica, $anagrafica->tipo, '