0
我有我的資料庫查詢,返回數組結果:Symfony2。在使用外鍵的實體上使用querybuilder時,如何將外鍵的值作爲ID序列返回?
$result = $qb
->select('partial u.{id, username, email, lastLogin}', 'partial groups.{id}')
->leftJoin('u.groups', 'groups')
->getQuery()
->getArrayResult();
當我請求我的AngularJS應用此查詢,我得到一個結果:
[
{"id":1,
"username":"Sergio Ivanuzzo",
"email":"[email protected]",
"lastLogin":null,
"groups":[{"id":1}]
}
]
由於groups
的包含對象的數組,我無法解析他們在我的編輯指令(複選框未選中):
<span
data-pk="{{ user.id }}"
editable-checklist="user.groups"
e-ng-options="g.id as g.name for g in groups"
e-form="rowform">
{{ User.showGroups(user) }}
</span>
當groups
屬性包含類似於[1,2,3]指令正在工作的內容(複選框被正常檢查)。
所以,解決這個我是從響應解析每個用戶對象:
angular.forEach(response.data, function(user) {
var groups = [];
angular.forEach(user.groups, function(group) {
groups.push(group.id);
});
user.groups = groups;
});
$scope.users = response.data;
我覺得,我能避免這種情況的解決辦法,如果我能對每個用戶的數字序列返回groups
。我怎樣才能做到這一點?也許更好的方式存在?
如果您需要額外的數據,請告訴我!非常感謝您的幫助