Ricavare i nomi dei campi implicati nelle relazioni tra tabelle

Si vuole ricavare un array associativo per conoscere i nomi dei campi utilizzati in una qualsiasi operazione di find.

L’unica cosa che ho potuto fare è stato creare un metodo che ripeta quello che già fa isForeignKey(), ovvero esaminare l’array delle associazioni

Ecco il codice che permette di avere un array con tutti gli elementi utili a trattare il campo collegato:

function _isForeignKey($field){
  $foreignKeys = array();
  if (count($this->view->controller->Lista->modelClass->belongsTo)) {
    foreach($this->view->controller->Lista->modelClass->belongsTo as $assoc => $data) {
        if($data['foreignKey'] == $field ) {
          $foreignKeys['assoc'] = $assoc;
          $foreignKeys['className'] = $data['className'];
          $foreignKeys['order'] = $data['order'];
        }
    }
  }
  return count($foreignKeys) ? $foreignKeys : false ;
}

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.