ORM: Gestion du formattage (typage) des entrées d'une table jointe (jointure)
This commit is contained in:
parent
76b73c3302
commit
b01d759ffc
|
@ -659,19 +659,25 @@
|
|||
$formatted = [$formatted];
|
||||
|
||||
/* (2) On retire les indices numériques */
|
||||
// {1} On récupère les colonnes locales //
|
||||
$existingColumns = $this->schema['columns'];
|
||||
|
||||
// Pour chaque entrée
|
||||
// {2} On ajoute les colonnes des jointures //
|
||||
foreach($this->joined as $rows)
|
||||
$existingColumns = array_merge( $existingColumns, $rows->schema['columns'] );
|
||||
|
||||
// {3} On vérifie chaque clé, si c'est une colonne qui existe //
|
||||
foreach($formatted as $i=>$entry)
|
||||
|
||||
// Pour chaque champ
|
||||
foreach($entry as $index=>$value)
|
||||
|
||||
// Si dans le schéma on applique le type
|
||||
if( isset($this->schema['columns'][$index]) ){
|
||||
// Si la colonne existe on applique le type
|
||||
if( isset($existingColumns[$index]) ){
|
||||
|
||||
if( $this->schema['columns'][$index]['type'] == 'int' )
|
||||
if( $existingColumns[$index]['type'] == 'int' )
|
||||
$formatted[$i][$index] = intval( $value );
|
||||
else if( $this->schema['columns'][$index]['type'] == 'float' )
|
||||
else if( $existingColumns[$index]['type'] == 'float' )
|
||||
$formatted[$i][$index] = floatval( $value );
|
||||
|
||||
}else // Si pas dans le schéma, on le retire
|
||||
|
|
Loading…
Reference in New Issue