Mongolid\Serializer\Type\Converter::toMongoTypes PHP Метод

toMongoTypes() публичный Метод

Example: converts Type\ObjectID to MongoDB\BSON\ObjectID.
public toMongoTypes ( array $data ) : mixed
$data array Array to convert.
Результат mixed
    public function toMongoTypes(array $data)
    {
        array_walk_recursive($data, function (&$value) {
            if (!is_object($value)) {
                return;
            }
            if ($value instanceof SerializableTypeInterface) {
                $value = $value->convert();
            }
        });
        return $data;
    }

Usage Example

Пример #1
0
 public function testToDomainTypesShouldReplaceDomainTypesByMongoTypes()
 {
     $mongoId = new MongoObjectID();
     $timestamp = time();
     $mongoDate = new MongoUTCDateTime($timestamp * 1000);
     $id = new ObjectID($mongoId);
     $date = new UTCDateTime($timestamp);
     $data = ['_id' => $id, 'created_at' => $date, 'parents' => [$id, $id, $id], 'comments' => [['author' => 'Jhon', 'date' => $date], ['author' => 'Doe', 'date' => $date, 'versions' => [['_id' => $id, 'date' => $date, 'content' => 'Awsome'], ['_id' => $id, 'date' => $date, 'content' => 'Great']]]]];
     $expected = ['_id' => $mongoId, 'created_at' => $mongoDate, 'parents' => [$mongoId, $mongoId, $mongoId], 'comments' => [['author' => 'Jhon', 'date' => $mongoDate], ['author' => 'Doe', 'date' => $mongoDate, 'versions' => [['_id' => $mongoId, 'date' => $mongoDate, 'content' => 'Awsome'], ['_id' => $mongoId, 'date' => $mongoDate, 'content' => 'Great']]]]];
     $this->assertEquals($expected, $this->converter->toMongoTypes($data));
 }
All Usage Examples Of Mongolid\Serializer\Type\Converter::toMongoTypes