Datatables с laravel, как визуализировать отношения hasMany - PullRequest
0 голосов
/ 05 июня 2018

у меня есть следующий ответ от моего контроллера

[
  {
     "id": 1,
     "place_id": 1,
     "name": "Test",
     "type": 5,
     "created_at": "2018-06-04 15:29:02",
     "updated_at": "2018-06-04 15:29:02",
     "time": [
         {
            "id": 1,
            "stadium_id": 1,
            "day": "Saturday",
            "from_hour": 7,
            "to_hour": 12,
            "created_at": "2018-06-04 15:29:42",
            "updated_at": "2018-06-04 15:29:42"
         },
         {
            "id": 2,
            "stadium_id": 1,
            "day": "Sunday",
            "from_hour": 7,
            "to_hour": 12,
            "created_at": "2018-06-04 15:54:03",
            "updated_at": "2018-06-04 15:54:03"
         }
    ]
  }
]

я хочу получить доступ к атрибуту дня в каждом временном объекте

я попробовал код ниже, но, конечно, он просто загружает первыйрезультат есть решение

columns: [
         { data: 'name' },
         { data: 'type' },
         { data: 'time.0.day' },
         { data: 'time.0.from_hour' },
         { data: 'time.0.to_hour' },


    ],

1 Ответ

0 голосов
/ 05 июня 2018

Вы можете получить доступ к массиву time, используя свойство render:

 columns: [{
      data: 'name'
    },
    {
      data: 'type'
    },
    {
      data: 'time',
      render: function(data, type, row) {
        var txt = '';
        data.forEach(function(item) {
          if (txt.length > 0) {
            txt += '</br> '
          }
          txt += item.day;
        });
        return txt;
      }
    },
   ...

Это просто добавит разрыв строки для каждого объекта в time.Вот вам скрипка для изучения.

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