本文整理汇总了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;
}