Как установить флажок из массива базы данных, используя Laravel и Ajax - PullRequest
2 голосов
/ 26 марта 2019

Я пытаюсь получить данные из базы данных на флажки, как проверено.Данные флажка в базе данных являются массивом, вставленным с помощью json, и представляют собой динамические данные, основанные на функции вставки.

Таблица моих задач:

id |employee_id | startDate  | endDate   | ...
---|------------|------------|-----------|--------
1  |["1","2"]   | .......... | ..........| ....

My TasksController.php

function fetchdata(Request $request)
    {
        $id = $request->input('id');
        $task = Task::find($id);
        $output = array(
            'employee_id'    =>  $task->employee_id,
            'name'    =>  $task->name,
            'description'    =>  $task->description,
            'startDate'    =>  $task->startDate,
            'endDate'    =>  $task->endDate,
            'percentage'    =>  $task->percentage       

        );
        echo json_encode($output);
    }

    public function getEmployeesList()
    {

        $employeesList = Employee::all();


        return view('adminlte::tasks', ['employeesList' => $employeesList]);


    }

Мои tasks.blade.php

 @foreach($employeesList as $emplist)
    <label class="checkbox-inline">
      <input type="checkbox" id="employee_id" name="employee_id[]" class="chck" value="{{$emplist->id}}" >{{ $emplist->name }}</label>    
 @endforeach

Моя функция Ajax внутри блейда:

$(document).on('click', '.edit', function(){
        var id = $(this).attr("id");
        $('#form_output').html('');
        $.ajax({
            url: "{{route('tasks.fetchdata')}}",
            method: 'get',
            data: {id:id},
            dataType: 'json',
            success:function(data)
            {
                $('#id').val(data.id);
                $('#employee_id').val(data.employee_id);
                $('#name').val(data.name);
                .......................
                ..................
            }
        })
    });

Итак, как я могу получать данные из базы данных в флажки, как отмечено,потому что сейчас я получаю нулевое значение employee_id при попытке обновить запись.

Заранее спасибо

1 Ответ

0 голосов
/ 26 марта 2019

Поскольку вы кодируете данные на стороне сервера, вы должны декодировать их на стороне клиента, как:

...
success:function(data)
{
    console.log( data );
    data = JSON.parse(data);

    $('#id').val(data.id);
    $('#employee_id').val(data.employee_id);
    $('#name').val(data.name);
    ...

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...