Skip to content

Результаты запросов в виде объектов #30

@globalmac

Description

@globalmac

Доброго времени суток.
Как-то пытался работать с результатом запроса в виде объектов, а не ассоциативного массива и понял что такой возможности не предусмотрено или я что-то где-то упустил=).
Поправьте меня, если есть другие варианты.
Пользуюсь таким хаком:

public function fetchObjects($result) 
{
    return mysqli_fetch_object($result);
}

Строка

public function getRowObjects()
{
    $query = $this->prepareQuery(func_get_args());
    if ($res = $this->rawQuery($query)) 
    {
        $ret = $this->fetchObjects($res);
        $this->free($res);
        return $ret;
    }
    return FALSE;
}

Список

public function getAllObjects() 
{
    $ret   = array();
    $query = $this->prepareQuery(func_get_args());
    if ( $res = $this->rawQuery($query) )
    {
        while($row = $this->fetchObjects($res))
        {
            $ret[] = $row;
        }
        $this->free($res);
    }
    return $ret;
}

Результат

// Строка
$row = $db->getRowObjects("SELECT * FROM table WHERE id = ?i", 500);
echo $row->value;

// Список
$data = $db->getAllObjects("SELECT * FROM table");
foreach($data as $row) 
{
    echo $row->value;
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions