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 ;
}