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];
|
$formatted = [$formatted];
|
||||||
|
|
||||||
/* (2) On retire les indices numériques */
|
/* (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)
|
foreach($formatted as $i=>$entry)
|
||||||
|
|
||||||
// Pour chaque champ
|
// Pour chaque champ
|
||||||
foreach($entry as $index=>$value)
|
foreach($entry as $index=>$value)
|
||||||
|
|
||||||
// Si dans le schéma on applique le type
|
// Si la colonne existe on applique le type
|
||||||
if( isset($this->schema['columns'][$index]) ){
|
if( isset($existingColumns[$index]) ){
|
||||||
|
|
||||||
if( $this->schema['columns'][$index]['type'] == 'int' )
|
if( $existingColumns[$index]['type'] == 'int' )
|
||||||
$formatted[$i][$index] = intval( $value );
|
$formatted[$i][$index] = intval( $value );
|
||||||
else if( $this->schema['columns'][$index]['type'] == 'float' )
|
else if( $existingColumns[$index]['type'] == 'float' )
|
||||||
$formatted[$i][$index] = floatval( $value );
|
$formatted[$i][$index] = floatval( $value );
|
||||||
|
|
||||||
}else // Si pas dans le schéma, on le retire
|
}else // Si pas dans le schéma, on le retire
|
||||||
|
|
Loading…
Reference in New Issue