本文整理汇总了PHP中CEvent::overrideDatabase方法的典型用法代码示例。如果您正苦于以下问题:PHP CEvent::overrideDatabase方法的具体用法?PHP CEvent::overrideDatabase怎么用?PHP CEvent::overrideDatabase使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CEvent
的用法示例。
在下文中一共展示了CEvent::overrideDatabase方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: hook_postDelete
protected function hook_postDelete()
{
$q = $this->_getQuery();
$q->addTable('tasks');
$q->addQuery('task_id');
$q->addWhere('task_project = ' . $this->_old_key);
$tasks_to_delete = $q->loadColumn();
$q->clear();
$task = new w2p_Actions_BulkTasks();
$task->overrideDatabase($this->_query);
foreach ($tasks_to_delete as $task_id) {
$task->task_id = $task_id;
$task->delete();
}
$q->clear();
$q->addTable('files');
$q->addQuery('file_id');
$q->addWhere('file_project = ' . $this->_old_key);
$files_to_delete = $q->loadColumn();
$q->clear();
$file = new CFile();
$file->overrideDatabase($this->_query);
foreach ($files_to_delete as $file_id) {
$file->file_id = $file_id;
$file->delete();
}
$q->clear();
$q->addTable('events');
$q->addQuery('event_id');
$q->addWhere('event_project = ' . $this->_old_key);
$events_to_delete = $q->loadColumn();
$q->clear();
$event = new CEvent();
$event->overrideDatabase($this->_query);
foreach ($events_to_delete as $event_id) {
$event->event_id = $event_id;
$event->delete();
}
$q->clear();
// remove the project-contacts and project-departments map
$q->setDelete('project_contacts');
$q->addWhere('project_id =' . $this->_old_key);
$q->exec();
$q->clear();
$q->setDelete('project_departments');
$q->addWhere('project_id =' . $this->_old_key);
$q->exec();
$q->clear();
$q->setDelete('tasks');
$q->addWhere('task_represents_project =' . $this->_old_key);
parent::hook_preDelete();
}
示例2: delete
public function delete()
{
$result = false;
if ($this->_perms->checkModuleItem($this->_tbl_module, 'delete', $this->{$this->_tbl_key})) {
$q = $this->_getQuery();
$q->addTable('tasks');
$q->addQuery('task_id');
$q->addWhere('task_project = ' . (int) $this->project_id);
$tasks_to_delete = $q->loadColumn();
$q->clear();
$task = new CTask();
$task->overrideDatabase($this->_query);
foreach ($tasks_to_delete as $task_id) {
$task->task_id = $task_id;
$task->delete();
}
$q->clear();
$q->addTable('files');
$q->addQuery('file_id');
$q->addWhere('file_project = ' . (int) $this->project_id);
$files_to_delete = $q->loadColumn();
$q->clear();
$file = new CFile();
$file->overrideDatabase($this->_query);
foreach ($files_to_delete as $file_id) {
$file->file_id = $file_id;
$file->delete();
}
$q->clear();
$q->addTable('events');
$q->addQuery('event_id');
$q->addWhere('event_project = ' . (int) $this->project_id);
$events_to_delete = $q->loadColumn();
$q->clear();
$event = new CEvent();
$event->overrideDatabase($this->_query);
foreach ($events_to_delete as $event_id) {
$event->event_id = $event_id;
$event->delete();
}
$q->clear();
// remove the project-contacts and project-departments map
$q->setDelete('project_contacts');
$q->addWhere('project_id =' . (int) $this->project_id);
$q->exec();
$q->clear();
$q->setDelete('project_departments');
$q->addWhere('project_id =' . (int) $this->project_id);
$q->exec();
$q->clear();
$q->setDelete('tasks');
$q->addWhere('task_represents_project =' . (int) $this->project_id);
$q->clear();
if ($msg = parent::delete()) {
return $msg;
}
return true;
}
return $result;
}