Как передать данные из базы данных в JavaScript - PullRequest
0 голосов
/ 25 сентября 2019

Я хотел передать данные из моей базы данных в javascript.В laravel я обычно использую контроллер для передачи данных в блэйд вида:

public function profileView($id)
    {
        $person = $this->personRepository->getByIdWith($id, ['person_title', 'country', 'salutation']);
        $practitioner_id = $this->practitionerRepository->getIdByPersonId($id);
        $practitioner = $this->practitionerRepository->getById($practitioner_id);
        $specialty_id = PractitionerSpecialty::where('practitioner_id', $practitioner_id)->value('specialty_id');

        return view('person.profile.profile-view')
            ->with('practitioner_activity_type', PractitionerActivityType::where('practitioner_id', $practitioner_id)->first())
    }

, тогда я всегда представлял все в таблицах данных, поэтому я передавал данные, используя функции таблиц данных:

initialization.table(url, idName, columns, columnDefs);
        $('#data-table').DataTable().ajax.url("/" + url + "/all" + "/" + getPersonId()).load();

        $('#data-table').on('draw.dt', function () {
            displayCurrentActivityType(findCurrentActivityType(dataTable.getTable().data().toArray()));

Прямо сейчас у меня есть более одного набора данных на маршруте, который я использую, и вы не можете иметь более одного набора данных на одном маршруте.Может кто-нибудь предложить мне способ передачи данных в мой JS.Например, одна из функций, которая будет нуждаться в моих данных активности, выглядит следующим образом:

var displayCurrentActivityType = function (activity) {
        if (activity != null && typeof (activity) !== 'undefined') {
            $('#main_activity_h').text(activity.activity_type.name);
            $('.activity_color').css('background-color', activity.activity_type.color);
            $('#assigned_activity_h').text("Assigned: " + activity.effective_date);
            if (activity.expiry_date != null) {
                $('#expires_activity_h').text("Expires: " + activity.expiry_date);
            }
        }
    }

Мне просто не хватает activity data

@ edit Я пытался сделать это таким образом, но ядумаю, что я делаю что-то не так, Blade пока не показывает данные из базы данных.Но в базе данных есть данные об этом практикующем.

function getActivities() {
        $.ajax({
            type: "GET",
            url: "/activity-types/get/" + getPersonId(),
            data: {},
            dataType: "json",
            success: function (data) {
                forms.prefillForm(fieldValues, data, '_update', 'rotation_');
                $('#rotation_description').html(data['description']);
                if (data != null && typeof (data) !== 'undefined') {
                    $('#main_activity_h').text(data['name']);
                    $('.activity_color').css(data['color']);
                    $('#assigned_activity_h').text("Assigned: " + data['effective_date']);
                    if (activity.expiry_date != null) {
                        $('#expires_activity_h').text("Expires: " + data['expiry_date']);
                    }
                }
            }
        });
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...