Как я могу использовать ссылку на связь laravel в таблицах данных jquery - PullRequest
0 голосов
/ 07 мая 2020

Например, у меня есть Laravel Relationship , appointments таблица имеет ссылку на doctor в атрибуте doctor_id, и я хочу получить имя врача, например $appointment->doctor->name, проблема в том, как я могу получить это, используя вызов ajax в моей таблице данных. Это мой код.

$(function() {
  $('#myTable').DataTable({
    "ajax": {
      url: "{{ route('appointments.index') }}",
      dataSrc: 'appointments'
    },
    "columns": [{
      "data": "doctor_id"
    }, {
      "data": "patient_id"
    } {
      "data": function(data) {
        return '<button type="button" class="btn btn-primary btn-xs btn-edit" data-id="' + data.id + '">Edit</button>';
      }
    }]
  });
});

Мне нужны имена врача и пациента, где их идентификаторы.

Ответы [ 2 ]

0 голосов
/ 07 мая 2020

при использовании "Принадлежит к отношению" и "Активная загрузка" (используйте метод with). Например:

Сообщение принадлежит пользователю. поэтому определите отношение на модели Post. php

public function user()
    {
        return $this->belongsTo('App\User');
    }

PostControler. php

 public function index(Request $request)
    {
        $posts = Post::with(['user'])->paginate(15);
        return ['posts' => $posts];
    }

Результат:

{
    "posts": {
        "current_page": 1,
        "data": [
            {
                "id": 1,
                "user_id": 1,
                "title": "Bai viet so 1",
                "content": " \ndasdadaddad",
                "created_at": "2020-05-07T07:29:14.000000Z",
                "updated_at": "2020-05-07T09:38:12.000000Z",
                "user": {
                    "id": 1,
                    "name": "HoangQuan",
                    "email": "admin1@example.com",
                    "email_verified_at": null,
                    "created_at": "2020-05-07T07:28:15.000000Z",
                    "updated_at": "2020-05-07T07:28:15.000000Z"
                }
            },
            {
                "id": 2,
                "user_id": 1,
                "title": "Bai viet so 2",
                "content": " \n​",
                "created_at": "2020-05-07T07:29:42.000000Z",
                "updated_at": "2020-05-07T07:29:42.000000Z",
                "user": {
                    "id": 1,
                    "name": "HoangQuan",
                    "email": "admin1@example.com",
                    "email_verified_at": null,
                    "created_at": "2020-05-07T07:28:15.000000Z",
                    "updated_at": "2020-05-07T07:28:15.000000Z"
                }
            },
       }
}

0 голосов
/ 07 мая 2020

В модели назначения используйте это

public function doctor(){

    return $this->belongsTo('App\Appointment');

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