/** * @return array<Pap_Db_UserPayoutOption> */ public function getValues($formName, $userId) { $select = new Gpf_SqlBuilder_SelectBuilder(); $select->select->add('ff.'.Gpf_Db_Table_FormFields::ID, Gpf_Db_Table_FormFields::ID); $select->select->add('ff.'.Gpf_Db_Table_FormFields::CODE, Gpf_Db_Table_FormFields::CODE); $select->select->add('upo.'.self::VALUE, self::VALUE); $select->select->add('upo.'.self::USERID, self::USERID); $select->from->add(Gpf_Db_Table_FormFields::getName(), 'ff'); $select->from->addInnerJoin(self::getName(), 'upo', 'upo.formfieldid=ff.formfieldid'); $select->where->add('upo.'.self::USERID, '=', $userId); $select->where->add('ff.'.Gpf_Db_Table_FormFields::FORMID, '=', $formName); $values = array(); foreach ($select->getAllRowsIterator() as $row) { $payoutOption = new Pap_Db_UserPayoutOption(); $payoutOption->fillFromRecord($row); $values[$row->get('code')] = $payoutOption; } return $values; }
/** * @param Gpf_Data_Row $row */ private function addPayoutData(Gpf_Data_Row $row) { $payoutData = ''; foreach ($this->buildUserPayoutOptions($row)->getAllRows() as $payoutOptionRow) { if ($payoutData !== '') { $payoutData .= ', '; } $userPayoutOption = new Pap_Db_UserPayoutOption(); $userPayoutOption->fillFromRecord($payoutOptionRow); $payoutData .= $this->_localize($payoutOptionRow->get("payoutFieldName")).": ".$userPayoutOption->getValue(); } $row->add("payoutData", $payoutData); }