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
。我怎样才能做到这一点?也许更好的方式存在?
如果您需要额外的数据,请告诉我!非常感谢您的帮助