Datatables - не может фильтровать столбцы, используя подэлементы - PullRequest
0 голосов
/ 15 сентября 2018

Я хочу фильтровать строки, используя значение столбца типа.это происходит из подобъекта с именем article.Я не могу напрямую получить доступ к этой собственности.Мне нужно использовать ключ массива, например row.articles.type

Я могу фильтровать, используя статус, который зависит от столбца is_suspend, я могу легко получить доступ к is_suspend, сказав, что row.is_suspended.Но это касается значений подобъектов, это не фильтрует ..

один элемент выглядит как;

{
id: 7,
user_id: 11,
article_id: 216,
content: "Rerum velit soluta quos provident corporis eum dolores. Dolorem ex deleniti quisquam. Voluptas eum sint itaque quibusdam vel. Non sit alias cumque doloribus aut.",
created_at: "2018-09-14 21:22:53",
updated_at: "2018-09-14 21:22:53",
is_suspend: 0,
user: {
       id: 11,
       name: "Mayra Rau",
       username: "edgar.schmeler",
       email: "leuschke.kraig@example.org",
       created_at: "2018-09-11 00:15:47",
       updated_at: "2018-09-11 00:15:47",
       suspended_at: null,
       banned_at: null,
       points: "3772"
},
article: {
         id: 216,
         locale: "fr",
         content: "Qui earum repudiandae aliquam et ab aut maxime. Debitis alias voluptatum voluptate ut ut. Repellendus asperiores ut rem aut et voluptates eum. Sed voluptatem repellat maiores. Dolores commodi laboriosam voluptatem deserunt reprehenderit.",
         articleable_id: 72,
         articleable_type: "App\Models\Cpu",
         type: "Cpu",
         articleable: {
                      id: 72,
                      title: "AMD A4-9120",
                      slug: "amd-a4-9120"
                      }
         }
},

Раздел поля

{
    field: "type",
    title: "Type",
    width: 70,

    template: function (row) {
    var status = {
        Cpu: {'title': 'CPU', 'class': 'm-badge--info'},
        Gpu: {'title': 'GPU', 'class': ' m-badge--default'},
        Mb: {'title': 'MB', 'class': ' m-badge--warning'},
    };
    return '<span class="m-badge '+status[row.article.type].class+' m-badge--wide">'+status[row.article.type].title+'</span>';
}

},

Секция фильтра

$('#m_form_type').on('change', function () {
    datatable.search($(this).val(), 'type');
}).val(typeof query.Type !== 'undefined' ? query.Type : '');
...