我在 Zend_Db_Select 上遇到了一些麻烦,自从我使用它很久以前(-:我需要一个这样的结果数组:
USER 0
ID -> 1
MY_NUMBERS -> (array)
-> 1 ONE
-> 2 TWO
USER 1 (array)
ID -> 2 (int)
MY_NUMBERS -> (array)
-> 1 ONE
-> 2 TWO
-> 3 THREE
-> 10 TEN
这是我的查询的一部分
$select->from(array('USERS' => $table))
->join(
array('USERS_NUMBERS' => 'USERS_HAS_NUMBERS'), // many to many
'USERS.ID = USERS_NUMBERS.USER_ID'
)
->joinLeft(
array('N' => 'NUMBERS'),
'USERS_NUMBERS.NUMBER_ID = NUMBERS.ID',
array('MY_NUMBERS' => 'NUMBERS.NUMBER')
);
但是在我为每个现有关系返回一条记录的那一刻,如果用户 1 有 5 个数字,我会为该用户返回 5 条完整记录。
我知道我的选择在获取我需要的数组时是错误的,但我必须知道该怎么做:-)