AJAX форма со многими ко многим (массив) - PullRequest
0 голосов
/ 14 октября 2018

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

 {
        "id": 19,
        "name": "Superman",
        "originalTitel": "Superman - Der Film",
        "releseDate": "1978-05-15T00:00:00",
        "duration": 137,
        "description": "Superman ist ein Science-Fiction-Film aus dem Jahr 1978 und zugleich der erste Teil der erfolgreichen Comicverfilmungen um die Geschichte des von Jerry Siegel und Joe Shuster geschaffenen Comichelden Superman.",
        "rating": null,
        "personalRating": null,
        "ageRestrictionId": 4,
        "ageRestriction": {
            "id": 4,
            "name": "USK 12"
        },
        "genres": [
            {
                "id": 2,
                "name": "Action",
                "isChecked": false
            },
            {
                "id": 5,
                "name": "Crime",
                "isChecked": false
            }
        ]
    }

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

 $(document).ready(function () {
        $("#movies").DataTable({
            ajax: {
                url: "/api/movies",
                dataSrc: ""
            },
            columns: [
                {
                    data: "name",
                    render: function (data, type, movie) {
                        return "<a href='/customers/edit/" + movie.id + "'>" + movie.name + "</a>";
                    }
                },
                {
                    data: "duration",
                    render: function (data) {
                        return data + " Minuten"
                    }
                },
                {
                    data: "ageRestriction.name"
                },
                {
                    data: ???
                },
                {
                    data: "id",
                    render: function (data) {
                        return "<button class='btn-link js.delete' data-customer-id=" + data + ">Löschen</button>";
                    }
                }
            ]
        });

Я пробовал разные вещи, но ничего не получалось.Поскольку я новичок в ajax, я чувствую, что использую его немного неправильно для случая массива.Кто-нибудь может мне помочь?

1 Ответ

0 голосов
/ 15 октября 2018

Вы можете попробовать это на

{ 
  "data": "[, ].name"
}

[] - Запись в массиве.DataTables может автоматически объединять данные из источника массива, объединяя данные с символами, указанными в двух скобках.Например: name [,] предоставит список, разделенный запятыми, из массива источника.Если в скобках нет символов, возвращается исходный массив.

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