protonemedia / laravel-form-components

A set of Blade components to rapidly build forms with Tailwind CSS (v1.0 and v2.0) and Bootstrap 4/5. Supports validation, model binding, default values, translations, Laravel Livewire, includes default vendor styling and fully customizable!
https://protone.media/blog/laravel-form-components-to-rapidly-build-forms-with-tailwind-css-and-bootstrap-4
MIT License
814 stars 104 forks source link

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

Open alexv96 opened 2 years ago

alexv96 commented 2 years ago

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"/>

mrl22 commented 2 years ago

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