$value) { if (!empty($value)) { $idtipoanagrafica = (array) $data[$key]['tipologia']; unset($data[$key]['tipologia']); // Insert o update $insert = true; if (!empty($primary_key)) { $rs = $dbo->select('an_anagrafiche', $primary_key, [ $primary_key => $data[$key][$primary_key], ]); $insert = !in_array($data[$key][$primary_key], $rs[0]); } // Insert if ($insert) { $dbo->insert('an_anagrafiche', $data[$key]); // Campi extra if (count($idtipoanagrafica) > 0) { // Aggiornamento della tipologia di anagrafiche $dbo->sync('an_tipianagrafiche_anagrafiche', [ 'idanagrafica' => $dbo->lastInsertedID(), ], [ 'idtipoanagrafica' => (array) $idtipoanagrafica, ]); } } // Update else { $dbo->update('an_anagrafiche', $data[$key], [$primary_key => $data[$key][$primary_key]]); } unset($data[$key]); } } break; } return [ [ 'field' => 'codice', 'label' => 'Codice', 'primary_key' => true, ], [ 'field' => 'ragione_sociale', 'label' => 'Ragione sociale', ], [ 'field' => 'provincia', 'label' => 'Provincia', ], [ 'field' => 'citta', 'label' => 'Città', ], [ 'field' => 'telefono', 'label' => 'Telefono', ], [ 'field' => 'indirizzo', 'label' => 'Indirizzo', ], [ 'field' => 'cap', 'label' => 'CAP', ], [ 'field' => 'cellulare', 'label' => 'Cellulare', ], [ 'field' => 'fax', 'label' => 'Fax', ], [ 'field' => 'email', 'label' => 'Email', ], [ 'field' => 'codice_fiscale', 'label' => 'Codice Fiscale', ], [ 'field' => 'piva', 'label' => 'Partita IVA', ], [ 'field' => 'codiceiban', 'label' => 'IBAN', ], [ 'field' => 'note', 'label' => 'Note', ], [ 'field' => 'id_nazione', 'label' => 'Nazione', 'names' => [ 'Nazione', 'id_nazione', 'idnazione', 'nazione', ], 'query' => 'SELECT id as result FROM an_nazioni WHERE LOWER(nome) = LOWER(|value|)', ], [ 'field' => 'idagente', 'label' => 'ID Agente', ], [ 'field' => 'idpagamento_vendite', 'label' => 'ID Pagamento', 'names' => [ 'Pagamento', 'ID Pagamento', 'id_pagamento', 'idpagamento_vendite', 'idpagamento', ], ], [ 'field' => 'tipologia', 'label' => 'Tipologia', 'names' => [ 'Tipologia', 'tipologia', 'idtipo', ], 'query' => 'SELECT idtipoanagrafica as result FROM an_tipianagrafiche WHERE descrizione = |value|', ], ];