Как удалить запись из столбца json с помощью laravel? - PullRequest
0 голосов
/ 25 января 2019

У меня есть столбец jsonb, который содержит данные пользователя. Я был в состоянии хранить и обновлять информацию этого столбца JSON. Но теперь мне нужно удалить определенные данные. например, если пользователь нажмет кнопку «delte», он удалит эти данные индекса.

"work": [
{
"id": "da4582be-2075-11e9-99db-08002718287a",
"info": "work",
"company": "Augnitive",
"working_to": "2021-05-12",
"designation": "Software Engineer",
"working_from": "2019-11-15",
"responsibilities": "Lorem Ipsum is simply dummy text of the printing and typesetting industry."
}
],
"contact": [],
"personal": [
{
"id": "a8cba4a2-2075-11e9-9b58-08002718287a",
"bday": "1993-07-21",
"info": "personal",
"blood": "B(+VE)",
"gender": "Male"
}
],
"education": [
{
"id": "b1bab9ee-206c-11e9-a640-08002718287a",
"info": "education",
"edu_type": "SSC 1234",
"institute": "PGJHS 2",
"graduation": "2012"
},
{
"id": "b2842910-2075-11e9-a835-08002718287a",
"info": "education",
"edu_type": "HSC",
"institute": "PGC",
"graduation": "2012"
}
]
}

Вот форма блэйд-файла, куда я пытаюсь отправить индекс этих данных

@foreach($profile['education'] as  $index => $education)
    <table class="table bio-table">

            <a href="#delete"
            data-toggle="modal"
            class="deleteNews btn-danger margin-left float-right"
            data-route="{{ route('home.destroy',$education) }}"
            data-target="#deleteEducation"><i class="glyphicon glyphicon-trash"></i></a>



**Modal for this :** 

<div class="modal fade" id="deleteEducation">
    <div class="modal-dialog" role="document">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                <h4 class="modal-title" id="myModalLabel"><i class="fa fa-trash"></i> Delete Page</h4>
            </div>
            <div class="modal-body">
                <h2>Are you sure?</h2><br>
                <form action="" method="post">
                    @csrf
                    @method('DELETE')

                    <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
                    <button type="submit" class="btn btn-danger">Yes</button>
                </form>
            </div>
        </div>
    </div>
</div>

JavaScript

$(document).ready(function(){
    $('.deleteEducation').click(function () {
        $('#deleteEducation form').attr('action', $(this).data('route'));
    });
});

Теперь, как я могу удалить эти данные?

1 Ответ

0 голосов
/ 25 января 2019

Я не уверен, если вы можете манипулировать JSON, как это, но, возможно, проще написать JSON новый без данных, которые вы хотите удалить?

...