CakePHP: eseguire ricerche sui campi tradotti (Translate Behavior)
ATTENZIONE!
Il post ha più di 2 anni e le informazioni contenute
potrebbero essere obsolete (ad esempio a causa di un
aggiornamento di versione rispetto agli elementi descritti
o links modificati da siti esterni).
CakePHP permette di gestire la traduzione dei campi del DB tramite Translate Behavior. Ad esempio se abbiamo un Model chiamato Elements definito nel seguente modo:
class Element extends AppModel {
}
Possiamo impostare che i campi title e description siano trattati come traduzioni:
class Element extends AppModel {
//inizializzazione Translate behavior per i campi title e description
var $actsAs = array(
'Translate'=> array(
'title', 'description'
)
);
}
Per eseguire delle ricerche sui campi tradotti (che vengono salvati in una tabella differente dalla principale del modello) è necessario utilizzare una sintassi particolare per definire i campi, ovvero: MODEL_I18n__NOME_CAMPO.content (sostituendo le parti in rosso). Quindi per cercare ad esempio gli elementi con titolo e descrizione vuote:
//ricerca
$elements = $this->Element->find('all',array(
'conditions' => array(
'I18n__title.content'=>'',
'I18n__description.content'=>''
)
));
debug($elements);

Configurare gli APN per web e mms in Android
CakePHP: una semplice struttura per salvare i dati in cache via controller
Commenti