Ta strona używa ciasteczek (cookies), dzięki którym nasz serwis może działać lepiej. Dowiedz się więcej Rozumiem

Pobieranie danych

Aby pobrać dane z bazy danych musimy wykonać następujące kroki:
 

1. Przygotować obiekt naszej tabeli

Z poziomu PHP przygotowanie obiektu wygląda następująco:
$pagesDB = new pagesDB();

Gdzie nazwa obiektu jest nazwą tabeli z dodatkiem DB na końcu.
Tak przygotowaną zmienną $pagesDB możemy wykorzystać do wysyłania zapytań do bazy danych za pomocą naszego frameworka.

 

2. Wysłanie zapytania

Aby dokonać operacji na bazie danych należy wywołać odpowiednią metodę dostępną dla danej tabeli, na przykład:
//Metody ogólne
//Zwraca podstrony o statusie równym 0 i sortuje je po pozycji
$deletedPages = $pagesDB->fetchAll("status=0",'position ASC','*');

//Zwraca strone o numerze ID równym numerowi przekazanemu w GET pod parametrem "id"
$page = $pagesDB->fetchRow("id={$this->request->getVariable('id')}");

//Aktualizuje pozycję obrazków
$imagesDb->updateRow(array('position' => $position),"id = {$element['id']}");


//Metody specyficzne dla danej tabeli
//Usuwa element główny oraz ich elementy zależne
$pagesDB->deleteTreeItems($this->request->getVariable('id'));

//Pobiera listę numerów ID zależnych podstron od podstrony o numerze ID przekazanym w GET
$children = $pagesDB->getDependentIdListString($this->request->getVariable('id'));

Metody domyślnie zwracają dane w formie obiektu, można to zmienić i zwracać dane w formie tablicy, jednak obiekt jest znacznie wygodniejszą formą.

Przykładowy wynik zapytania pobierającego podstrony:
//Kod wyświetli nam wynik
$pagesDB = new pagesDB();
$page = $pagesDB->fetchAll("id=423");
debugger::dprint($page);

Wynik
Array
(
    [0] => stdClass Object
        (
            [id] => 423
            [parentId] => 390
            [type] => 11
            [status] => 2
            [position] => 4
            [name] => Menu główne
            [content] => 
            [createTime] => 2012-09-02 09:29:06
            [updateTime] => 2012-12-10 00:32:50
            [createIP] => 127.0.0.1
            [updateIp] => ::1
            [urlKey] => menu-glowne-5
            [tpl] => simple_page.tpl
            [title] => 
            [description] => 
            [keywords] => 
            [tags] => 
            [views] => 6
            [date] => 
            [lock] => 0
            [defaultTpl] => simple_page.tpl
            [authorId] => 5
            [rate] => 0
            [ekey] => ppdhyfzknpnt
            [hasIcon] => 
            [hasImage] => 
            [langId] => 390
            [menuCssClass] => 
            [searchable] => 1
        )
)

Do wykonania zapytania mamy dostępne metody, każda z tabel ma swoje unikalne metody, które wykorzystują zestaw metod podstawowych, aby sprawdzić jakie metody dana tabela posiada należy zerknąć w dokumentację lub w kod modelu.

 

3. Metody podstawowe

  • select($where = null, $order = null, $what = '*',$limit = null, $groupby = null, $bindValues = array() )
  • insert(array $data = array())
  • update($column, $value, $where, $bindValues = array() )
  • updateRow($data, $where, $bindValues = array() )
  • deleteRows($where, $bindValues = array() )
  • delete($id)
  • fetchRow($where = null, $order = null, $what = '*', $bindValues = array(), $fetchType = PDO::FETCH_OBJ)
  • fetchAll($where = null, $order = null, $what = '*', $limit = null, $groupby = null, $bindValues = array(),$fetchType = PDO::FETCH_OBJ)
  • fetchTextSearch($searchText,array $columns, $where = null, $order = null, $what = '*', $limit = null, $groupby = null, $bindValues = array() )
  • fetchCount($where = null, $bindValues = array() )
  • fetchCountGroup($groupBy,$where = null,$order = null,$what = '*', $limit = null, $bindValues = array() )
  • fetchSum($sumColumn,$where = null,$order = null,$what = '*', $limit = null, $bindValues = array() )
  • fetchGroup($groupBy, $where = null, $order = null, $what = '*', $limit = null, $bindValues = array())
  • set($id,$column,$value)
  • get($id,$column)

Centrum pomocy

Masz problem techniczny?

Poradniki wideo