cObject

Aus CavoxCms Wiki

Wechseln zu: Navigation, Suche

Wird von jeder Model-Klasse geerbt.

Inhaltsverzeichnis

Statische Methoden

Vorkommende Parameter:

findAll

static function findAll($model, cExpression $where = null, cOrder $orderby = null, cPaging $pageNumbers = null, $eager=null)
  • orderby: Kann auch ein string sein
  • pageNumber: Kann auch ein string sein
  • eager: (array oder kommaseparierter String) Gibt an, welche Objekte (von hasOne) vorgeladen werden sollen (Eager Load), sodass sie nicht per Lazy Load geladen werden müssen (weniger SQL-Queries).

Liest ein Array von Objekten aus der Datenbank.

get

static function get($model, $id)
  • id: Kann eine Zahl sein oder ein cParameters-Objekt (es wird der Key "id" daraus ausgelesen).

Liest ein einzelnes Objekt anhand der ID aus.

cObject::get("mymodel", $params->get("id", "number"));

find

static function find($model, cExpression $where)

Liest ein einzelnes Objekt anhand eines Ausdruckes aus.

load

static function load($model, cParameters &$params, $arg = null)

Diese Methode erstellt ein Model-Objekt, erstellt ein cResult und versucht das übergebene Formular (Command) mit der validate-Methode zu überprüfen. Beispiel: cController#Speichern

Falls die Methode validate mit einem speziellen Argument aufgerufen werden soll (z.B. um verschiedene validate-Varianten zu unterstützen), kann ein dritter, optionaler Parameter übergeben werden.

Variabeln

result

Wurde das Objekt mit #load geladen, enthält diese Variabel das cResult, ansonsten ist sie null.

Methoden

save

Speichert das Objekt. Wurde das Model mit der Methode cObject::load erstellt, wird das cResult gespeichert, ansonsten werden die enthaltenen Daten in die Datenbank geschrieben.

Positionen

Modelle können mit einer Position versehen werden, damit die einzelnen Objekte verschoben werden können. Dazu können zwei Buttons erstellt weden mit zwei Befehlen (moveUp und moveDown). Desweiteren muss beim Erstellen des Objektes die neue Position ausgerechnet und beim Löschen die Positionen nachgeschoben werden.

Verwenden Sie dazu folgende Methoden. Dabei kann immer eine Where-Klausel (cExpression) angegeben werden, wenn mehrere Ebenen von Positionen möglich sind.

moveDown

Verschiebt das Objekt eine Position nach oben (links).

function cmd_moveUp(&$params){
	if($obj = cObject::get("model", $params))
		$obj->moveUp();
	return true; 
}

moveDown

Verschiebt das Objekt eine Position nach unten (rechts).

function cmd_down(&$params){
	if($obj= cObject::get("model", $params))
		$obj->moveDown();
	return true; 
}

updatePosition

Wird die Methode updatePosition beim Einfügen aufgerufen, wird die neue Position gesetzt. Wird sie bei einem vorhanden Objekt aufgerufen, wird die Position gelöscht.

class cGallery_Picture extends cObject{
	function validate(){
		...
		if($this->inserting())
			$this->updatePosition(); 
	}

	function delete(){
		$this->updatePosition();
		cObject::delete();
	}
}
Persönliche Werkzeuge