「タイプ」列の値を使用して行をフィルタリングしたい。それは article という名前のサブオブジェクトから来ています。そのプロパティに直接アクセスすることはできません。次のような配列キーを使用する必要がありますrow.articles.type
is_suspend 列に依存するステータスを使用してフィルタリングできます。 is_suspend と言って簡単にアクセスできますrow.is_suspended
。ただし、サブオブジェクト値に関しては、フィルタリングされません..
1つのアイテムは次のようになります。
{
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 : '');