Я успешно настроил 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>