2017-02-21 40 views
0

Как выбрать сводные данные (col1 и col2) для ролей пользователя с id=2?Как вернуть опорные данные отношения «многие ко многим»?

+------------+ 
| User | 
+------------+ 
| id | name | 
+----+-------+ 
| 1 | John | 
+----+-------+ 
| 2 | Brian | 
+----+-------+ 

+------------+ 
| Role | 
+------------+ 
| id | title | 
+----+-------+ 
| 1 | Admin | 
+----+-------+ 
| 2 | Owner | 
+----+-------+ 

+-----------------------------------+ 
|    UserRole    | 
+-----------------------------------+ 
| user_id | role_id | col1 | col2 | 
+---------+---------+-------+-------+ 
| 2 | 1 | lorem | dolor | 
+---------+---------+-------+-------+ 
| 2 | 2 | ipsum | amet | 
+---------+---------+-------+-------+ 

я могу использовать User::find(2)->roles но он возвращает:

[ 
    { 
    "id": 1, 
    "title": "Admin", 
    "pivot": { 
     "user_id": 2, 
     "role_id": 1, 
     "col1": "lorem", 
     "col2": "dolor" 
    } 
    }, 
    { 
    "id": 2, 
    "name": "Owner", 
    "pivot": { 
     "user_id": 2, 
     "role_id": 2, 
     "col1": "ipsum", 
     "col2": "amet" 
    } 
    } 
] 

Как я могу изменить запрос только иметь следующий результат (только шарнирные данные):

[ 
    { 
    "user_id": 2, 
    "role_id": 1, 
    "col1": "lorem", 
    "col2": "dolor" 
    }, 
    { 
    "user_id": 2, 
    "role_id": 2, 
    "col1": "ipsum", 
    "col2": "amet" 
    } 
] 

ответ