viernes, 17 de mayo de 2019

Como guardar datos Json con cakephp 3.7

Si miras la documentación (https://book.cakephp.org/3.0/en/orm/saving-data.html) dice que hay que mapear el tipo de datos, etc....

Realmente no hay que hacer nada de eso, lo único que se debe hacer es crear el campo tipo json en MySql y hacer uso del bake para generar el modelo.... eso no es tema de esta entrada.

Básicamente cakephp lo resuelve todo...

Ahora, lo que si es importante es setear los datos a guardar, Suponga que tenemos un campo datos (tipo Json), y que dentro de ese json queremos guardar un campo llamado cantidad, bueno, debemos hacer algo así:

        $entidad->datos = [
            'datos' => [
                'cantidad' => $cantidad_solicitados
            ]
        ];

Ahora os muestro la forma incorrecta:

        $entidad->datos = ['cantidad' => $cantidad_solicitados];

y mucho menos usando json_encode ni string de json...

Eso es todo, saludos.