从逻辑上看你的代码是没有问题的。可以使用var_export 输出一下最终的$xusers 看下是否是你要的数据
$xusers = M('member')->where(['parentid'=>12345])->field('id')->select();
foreach ($xusers as $key => $value) {
$pid1=($xusers[$key]['id']);
$xusers[$key]['erid']=M('member')->where(['parentid'=>$pid1])->field('id')->select();
}
var_export($xusers);
输出的格式应该类似
array(
array(
'id'=>123458,
'erid'=>array(
array(
'id'=>221451
),
array(
'id'=>221452
),
),
),
array(
'id'=>123457,
'erid'=>array(
),
),
array(
'id'=>123457,
'erid'=>array(
array(
'id'=>221453
),
),
),
)