Я успешно настроил Backpack для Laravel для обработки всех операций CRUD для моего приложения, кроме одного конкретного поля.Мне нужно импортировать CSV, преобразовать его в JSON и затем сохранить JSON в моей базе данных для последующего отображения в виде таблицы HTML.
Я создал настраиваемое поле в Backpack, которое фактически создает поле для загрузки файла, но я не могу понять, как указать ему собственный метод для обработки логики для обработки преобразования ихранение CSV.
Я прочесал документацию, но не вижу упоминаний о чем-либо подобном.https://backpackforlaravel.com/docs/3.4/crud-fields#creating-a-custom-field-type
//Placed in the Controller CrudPanel Configuration
$this->crud->addField([
// CSV to JSON
'label' => "Specs Table",
'name' => "specifications_table",
'type' => 'csv2json', //custom field name
], 'update/create/both');
//Placed in csv2json.blade.php file
<div @include('crud::inc.field_wrapper_attributes') >
<label>{!! $field['label'] !!}</label>
<input
type="file"
name="{{ $field['name'] }}"
value="{{ old($field['name']) ? old($field['name']) : (isset($field['value']) ? $field['value'] : (isset($field['default']) ? $field['default'] : '' )) }} "
@include('crud::inc.field_attributes')
>
{{-- HINT --}}
@if (isset($field['hint']))
<p class="help-block">{!! $field['hint'] !!}</p>
@endif
</div>