public function RecordList($UserId) { $where = array('originatorid' => array('EQ', $UserId), 'sendeeid' => array('EQ', $UserId), '_logic' => 'or'); $NoticeMe = $MeNotice = $NoticeMeUserId = $MeNoticeBindId = ''; $ListResult = self::where($where)->limit(12)->order('lasttime desc')->select(); foreach ($ListResult as $key => $val) { if ($val['sendeeid'] == $UserId) { if ($val['parentid'] == 0) { $NoticeMe[$key] = $val; } else { $NoticeMeReply[$key] = $val; } $NoticeMeUserId[] = $val['originatorid']; } if ($val['originatorid'] == $UserId) { if ($val['parentid'] == 0) { $MeNotice[$key] = $val; } else { $MeNoticeReply[$key] = $val; } $MeNoticeBindId[] = $val['bindingid']; $MeNoticeUserId[] = $val['sendeeid']; } } $UsersId = array_merge($NoticeMeUserId, $MeNoticeUserId); $UserModel = new UserModel(); $NoticeMeUserResult = $UserModel->GetUsers($UsersId, $Feild = array('userid', 'nickname', 'headimgurl')); $BindingModel = new StickerBindingModel(); $MeNoticeBindResult = $BindingModel->GetBindings($MeNoticeBindId, $Feild = array('bindingid', 'plate')); foreach ($NoticeMeUserResult as $key => $val) { $headimgurl = substr($val['headimgurl'], 0, strlen($val['headimgurl']) - 1); foreach ($NoticeMe as $k => $v) { if ($v['sendeeid'] == $val['userid']) { $val['headimgurl'] = $headimgurl; $NoticeMe[$k]['userinfo'] = $val; } } foreach ($NoticeMeReply as $k => $v) { if ($v['sendeeid'] == $val['userid']) { $val['headimgurl'] = $headimgurl; $NoticeMeReply[$k]['userinfo'] = $val; } } foreach ($MeNotice as $k => $v) { if ($v['originatorid'] == $val['userid']) { $MeNotice[$k]['ouserinfo'] = $val; } } } foreach ($NoticeMe as $k => $v) { foreach ($NoticeMeReply as $key => $val) { if ($v['recordid'] == $val['parentid']) { $NoticeMe[$k]['reply'] = array('message' => $val['message'], 'lasttime' => $val['lasttime']); } } } foreach ($MeNoticeBindResult as $key => $val) { foreach ($MeNotice as $k => $v) { if ($v['bindingid'] == $val['bindingid']) { $MeNotice[$k]['binding'] = $val; } } } foreach ($MeNotice as $k => $v) { foreach ($MeNoticeBindResult as $key => $val) { if ($v['bindingid'] == $val['bindingid']) { $MeNotice[$k]['binding'] = $val; } } foreach ($MeNoticeReply as $key => $val) { if ($val['parentid'] == $v['recordid']) { $MeNotice[$k]['reply'] = array('message' => $val['message']); } } } $result = array('NoticeMe' => $NoticeMe, 'MeNotice' => $MeNotice); return $result; }