我在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个完整记录返回 对于这个用户。
我知道我的选择是错误的,因为我需要它来获得数组,但我必须知道该怎么做: - )
答案 0 :(得分:1)
我会使用Zend_Db_Table并在那里设置关系,因此您的代码也更具可读性。 http://framework.zend.com/manual/1.12/en/zend.db.table.relationships.html
然后,当您拥有用户时,您可以执行以下操作:
$user->findDependentRowset('numbers');