ModuleVote_MapperVote

Package application.modules.vote
Inheritance class ModuleVote_MapperVote » Mapper » LsObject
Since 1.0
Source Code /application/classes/modules/vote/mapper/Vote.mapper.class.php
Маппер для работы с БД

Protected Properties

Hide inherited properties

PropertyTypeDescriptionDefined By
_aBehaviors Список поведений в виде готовых объектов, формируется автоматически LsObject
aBehaviors array Список поведений LsObject
oDb DbSimple_Database Объект подключения к базе данных Mapper

Public Methods

Hide inherited methods

MethodDescriptionDefined By
AddBehaviorHook() Добавляет хук поведения LsObject
AddVote() Добавляет голосование ModuleVote_MapperVote
AttachBehavior() Присоединяет поведение к объекту LsObject
DeleteVoteByTarget() Удаляет голосование из базы по списку идентификаторов таргета ModuleVote_MapperVote
DetachBehavior() Отсоединяет поведение от объекта LsObject
GetBehavior() Возвращает объект поведения по его имени LsObject
GetBehaviors() Возвращает все объекты поведения LsObject
GetVoteByArray() Получить список голосований по списку айдишников ModuleVote_MapperVote
RemoveBehaviorHook() Удаляет хук поведения LsObject
RunBehaviorHook() Запускает хук поведения на выполнение LsObject
__call() Ставим хук на вызов неизвестного метода и считаем что хотели вызвать метод какого либо модуля LsObject
__clone() При клонировании сбрасываем поведения LsObject
__construct() Передаем коннект к БД Mapper
__get() Обработка доступа к объекты поведения LsObject

Protected Methods

Hide inherited methods

MethodDescriptionDefined By
IsSuccessful() Mapper
PrepareBehaviors() Инициализация поведений LsObject

Method Details

AddVote() method
public bool AddVote(ModuleVote_EntityVote $oVote)
$oVote ModuleVote_EntityVote Объект голосования
{return} bool
Source Code: /application/classes/modules/vote/mapper/Vote.mapper.class.php#36 (show)
public function AddVote(ModuleVote_EntityVote $oVote)
{
    
$sql "INSERT INTO " Config::Get('db.table.vote') . "
        (target_id,
        target_type,
        user_voter_id,
        vote_direction,
        vote_value,            
        vote_date,
        vote_ip
        )
        VALUES(?d, ?, ?d, ?d, ?f, ?, ?)
    "
;
    if (
$this->oDb->query($sql$oVote->getTargetId(), $oVote->getTargetType(), $oVote->getVoterId(),
            
$oVote->getDirection(), $oVote->getValue(), $oVote->getDate(), $oVote->getIp()) === 0
    
) {
        return 
true;
    }
    return 
false;
}

Добавляет голосование

DeleteVoteByTarget() method
public bool DeleteVoteByTarget(array|int $aTargetId, string $sTargetType)
$aTargetId array|int Список ID владельцев
$sTargetType string Тип владельца
{return} bool
Source Code: /application/classes/modules/vote/mapper/Vote.mapper.class.php#96 (show)
public function DeleteVoteByTarget($aTargetId$sTargetType)
{
    
$sql "
        DELETE FROM " 
Config::Get('db.table.vote') . "
        WHERE
            target_id IN(?a)
            AND
            target_type = ?                
    "
;
    
$res $this->oDb->query($sql$aTargetId$sTargetType);
    return 
$this->IsSuccessful($res);
}

Удаляет голосование из базы по списку идентификаторов таргета

GetVoteByArray() method
public array GetVoteByArray(array $aArrayId, string $sTargetType, int $sUserId)
$aArrayId array Список ID владельцев
$sTargetType string Тип владельца
$sUserId int ID пользователя
{return} array
Source Code: /application/classes/modules/vote/mapper/Vote.mapper.class.php#65 (show)
public function GetVoteByArray($aArrayId$sTargetType$sUserId)
{
    if (!
is_array($aArrayId) or count($aArrayId) == 0) {
        return array();
    }
    
$sql "SELECT
                *                             
            FROM 
                " 
Config::Get('db.table.vote') . "
            WHERE                     
                target_id IN(?a)     
                AND
                target_type = ? 
                AND
                user_voter_id = ?d "
;
    
$aVotes = array();
    if (
$aRows $this->oDb->select($sql$aArrayId$sTargetType$sUserId)) {
        foreach (
$aRows as $aRow) {
            
$aVotes[] = Engine::GetEntity('Vote'$aRow);
        }
    }
    return 
$aVotes;
}

Получить список голосований по списку айдишников