Class FieldTypeConverter
A callable class to be used for processing each of the rows in a statement result, so that the values are converted to the right PHP types.
Property Summary
-
$_driver protected
Cake\Database\DriverInterface
The driver object to be used in the type conversion
-
$_typeMap protected
array<Cake\Database\TypeInterface>
An array containing the name of the fields and the Type objects each should use when converting them.
-
$batchingTypeMap protected
array<string, array>
An array containing the name of the fields and the Type objects each should use when converting them using batching.
-
$types protected
array<Cake\Database\TypeInterface|Cake\Database\Type\BatchCastingInterface>
An array containing all the types registered in the Type system at the moment this object is created. Used so that the types list is not fetched on each single row of the results.
Method Summary
-
__construct() public
Builds the type map
-
__invoke() public
Converts each of the fields in the array that are present in the type map using the corresponding Type class.
Method Detail
__construct() ¶ public
__construct(Cake\Database\TypeMap $typeMap, Cake\Database\DriverInterface $driver)
Builds the type map
Parameters
-
Cake\Database\TypeMap
$typeMap Contains the types to use for converting results
-
Cake\Database\DriverInterface
$driver The driver to use for the type conversion
__invoke() ¶ public
__invoke(array $row): array
Converts each of the fields in the array that are present in the type map using the corresponding Type class.
Parameters
-
array
$row The array with the fields to be casted
Returns
array
Property Detail
$_driver ¶ protected
The driver object to be used in the type conversion
Type
Cake\Database\DriverInterface
$_typeMap ¶ protected
An array containing the name of the fields and the Type objects each should use when converting them.
Type
array<Cake\Database\TypeInterface>
$batchingTypeMap ¶ protected
An array containing the name of the fields and the Type objects each should use when converting them using batching.
Type
array<string, array>
$types ¶ protected
An array containing all the types registered in the Type system at the moment this object is created. Used so that the types list is not fetched on each single row of the results.
Type
array<Cake\Database\TypeInterface|Cake\Database\Type\BatchCastingInterface>