本文整理匯總了PHP中COperation::loadAll方法的典型用法代碼示例。如果您正苦於以下問題:PHP COperation::loadAll方法的具體用法?PHP COperation::loadAll怎麽用?PHP COperation::loadAll使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類COperation
的用法示例。
在下文中一共展示了COperation::loadAll方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: mineSome
/**
* Mine or remine the first available operations
*
* @param int $limit
* @param string $phase
*
* @return array Success/failure counts report
*/
function mineSome($limit = 100, $phase = "mine")
{
$report = array("success" => 0, "failure" => 0);
if (!$limit) {
return $report;
}
$operation = new COperation();
/** @var COperation[] $operations */
$operations = array();
if ($phase == "remine") {
$date = CMbDT::date(self::$remine_delay);
$where["date"] = "< '{$date}'";
$where["remined"] = "= '0'";
$mined = $this->loadList($where, null, $limit);
$operation_ids = CMbArray::pluck($mined, "operation_id");
$operations = $operation->loadAll($operation_ids);
}
if ($phase == "postmine") {
$date = CMbDT::date(self::$postmine_delay);
$where["date"] = "< '{$date}'";
$where["postmined"] = "= '0'";
$mined = $this->loadList($where, null, $limit);
$operation_ids = CMbArray::pluck($mined, "operation_id");
$operations = $operation->loadAll($operation_ids);
}
if ($phase == "mine") {
$date = CMbDT::date(self::$mine_delay);
$table = $this->_spec->table;
$ljoin[$table] = "{$table}.operation_id = operations.operation_id";
$where[] = "operations.date < '{$date}'";
$where["{$table}.operation_id"] = "IS NULL";
$operations = $operation->loadList($where, null, $limit, null, $ljoin);
}
$plages = CStoredObject::massLoadFwdRef($operations, "plageop_id");
$salles = CStoredObject::massLoadFwdRef($plages, "salle_id");
CStoredObject::massLoadFwdRef($salles, "bloc_id");
foreach ($operations as $_operation) {
$_operation->loadRefPlageOp();
$this->mine($_operation);
if ($msg = $this->store()) {
trigger_error($msg, UI_MSG_ERROR);
$report["failure"]++;
continue;
}
$report["success"]++;
}
return $report;
}