laravel-form-components icon indicating copy to clipboard operation
laravel-form-components copied to clipboard

How to display data coming from a json field from DB?

Open alexv96 opened this issue 3 years ago • 1 comments

Hello query I unify the form create and edit in a single view, since this library helps me not to make double form.

The question is that I have a field in the DB that is saved as JSON, the issue as I can do or access the JSON when I want to edit and show me that I have registered.

For example:

MYSQL
project_data = {"_5": "Color green","_6": "This is a custom text of the project"}

In the program logic I would do something like this:

In the model I made an attribute for faster access to it without having to veficiar the ID.

public function getCustomColorBotonAttribute($query){
     return (isset($this->project_data["_5"]) ? $this->project_data["_5"] : null);
}

And in the blade I call it like this but it always returns me null. <x-form-input name="custom_colo_boton" label="Button color" :bind="$model->custom_color_boton"/>

alexv96 avatar Feb 04 '22 16:02 alexv96

Have you tried casting the field as "array" and then pulling the field directly without an accessor?

mrl22 avatar Apr 05 '22 15:04 mrl22