原始出處 http://www.xoops.org/modules/mediawiki/index.php/Dev:XoopsCriteria
XOOPS API 有一個資料庫搜尋時使用的Criteria 類別,定義如下:
Criteria Criteria (string $column, string $value = ?, string $operator = '='?,mixed $prefix = ?, mixed $function = ?)
使用這個類別可以很容易的取得多個XoopsPersistableObjectHandler 類別的物件。
範例:
$criteria = new Criteria('id', $object_id); $array = $objecthandler->getObjects($criteria, false, false);
上面的程式會回傳符合條件的元素陣列並指定給變數$array!如果getObjects 函式的第三個參數為true 則會回傳物件以方便批次操作!
Criteria 類別只有處理一個單一的'WHERE' 條件式。如果你需要多個條件則需要使用CriteriaCompo,這個類別可以結合多個Criteria 類別。以下是一個使用範例:
$criteria_object = new CriteriaCompo();
foreach ($criteria as $c) {
list ($field, $op, $value) = split(' ', $c); $criteria_object->add(new Criteria($field,$value,$op), 'AND');
}
如果你需要一個簡單的條件式,你可以使用
$criteria_object = new CriteriaCompo();
$criteria_object->add(new Criteria($field1,$value1,$op1), 'AND');
$criteria_object->add(new Criteria($field2,$value2,$op2), 'AND');