2017-02-21 30 views
0

如何爲id=2的用戶角色選擇透視數據(col1col2)?如何返回多對多關係的樞軸數據?

+------------+ 
| 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" 
    } 
] 

回答