GodziLaravel's avatar

Vue table 2 : how to get the nested array

First the column of name works , but permissions and users column return "undefined" .

My question is :

How to get permissions names list (with comma separator) in permissions column

How to get users names list (with comma separator) in users column

Here is the table options :


                columns: ['name','users','permissions', 'actions'],
                rows: [],

                options: {
                    filterByColumn: false,
                    perPage: 10,
                    texts: {
                        filter: "",
                        filterBy: 'Filter {column}',
                        count: ' '
                    },
                    pagination: {chunk: 10, dropdown: false},
                    filterable: ['name'],
                    headings: {
                        name: 'Group',
                        users: 'Members',
                        permissions: 'Permissions',
                        actions: "Actions"
                    },
                    templates:{
                        permissions(h, row) {
                            // "massage" your data and return a string
                        }
                    },
                }

Here the API result :

[
  {
    "id": 1,
    "name": "Leonel Walks",
    "slug": "leonel-walks",
    "created_at": "2019-07-26 11:13:34",
    "updated_at": "2019-07-26 11:13:34",
    "deleted_at": null,
    "users": [
      {
        "name": "Mr. Andrew Dooley I",
        "pivot": {
          "group_id": 1,
          "user_id": 23
        }
      },
      {
        "name": "Nicole Wisozk",
        "pivot": {
          "group_id": 1,
          "user_id": 36
        }
      },
      {
        "name": "Hosea Wuckert",
        "pivot": {
          "group_id": 1,
          "user_id": 501
        }
      }
    ],
    "permissions": [
      {
        "name": "Ut voluptas unde quaerat quos impedit.",
        "pivot": {
          "group_id": 1,
          "permission_id": 2
        }
      }
    ]
  },
0 likes
1 reply
realrandyallen's avatar

Here's one way:

let userNames = results[0]['users'].map(u => u.name)

Please or to participate in this conversation.