public function getMessageArray($intUserID = 0, $bUnread = false) { $strKey = $intUserID . '-' . (string) $bUnread; if (isset($this->_arrMessage[$strKey])) { return $this->_arrMessage[$strKey]; } $arrMessage = []; $arrBind = []; $strQuery = 'SELECT * FROM message WHERE'; if ($bUnread) { $arrBind[':my_id'] = $this->getId(); $strQuery .= ' (recipient_id = :my_id)'; if ($intUserID) { $arrBind[':user_id'] = $intUserID; $strQuery .= ' AND (sender_id = :user_id)'; } $strQuery .= ' AND unread = 1'; } else { $arrBind[':my_id'] = $this->getId(); $strQuery .= ' (sender_id = :my_id OR recipient_id = :my_id)'; if ($intUserID) { $arrBind[':user_id'] = $intUserID; $strQuery .= ' AND (sender_id = :user_id OR recipient_id = :user_id)'; } } $arrResult = App_Db::read($strQuery, $arrBind)->fetchAll(PDO::FETCH_ASSOC); foreach ($arrResult as $arrRow) { array_push($arrMessage, new Message($arrRow)); } $this->_arrMessage[$strKey] = $arrMessage; return $arrMessage; }
/** * * @return array */ protected function _getFields() { $strTableName = strtolower(get_class($this)); $arrResult = App_Db::read("SHOW FIELDS FROM {$strTableName}")->fetchAll(PDO::FETCH_ASSOC); $arrField = []; foreach ($arrResult as $arrRow) { array_push($arrField, $arrRow['Field']); } return $arrField; }