本文整理汇总了PHP中Doctrine_Query::delete方法的典型用法代码示例。如果您正苦于以下问题:PHP Doctrine_Query::delete方法的具体用法?PHP Doctrine_Query::delete怎么用?PHP Doctrine_Query::delete使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Doctrine_Query
的用法示例。
在下文中一共展示了Doctrine_Query::delete方法的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: indexDirectory
public function indexDirectory($dir)
{
if (!file_exists($dir)) {
throw new Doctrine_Search_Indexer_Exception('Unknown directory ' . $dir);
}
$it = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($dir), RecursiveIteratorIterator::LEAVES_ONLY);
$files = array();
foreach ($it as $file) {
$name = $file->getPathName();
if (strpos($name, '.svn') === false) {
$files[] = $name;
}
}
$q = new Doctrine_Query();
$q->delete()->from('Doctrine_File f')->where('f.url LIKE ?', array($dir . '%'))->execute();
// clear the index
$q = new Doctrine_Query();
$q->delete()->from('Doctrine_File_Index i')->where('i.file_id = ?')->execute();
$conn = Doctrine_Manager::connection();
$coll = new Doctrine_Collection('Doctrine_File');
foreach ($files as $file) {
$coll[]->url = $file;
}
$coll->save();
}
示例2: saveRelatedAttributeSelections
private function saveRelatedAttributeSelections($embed_token)
{
// Get the relevant form
$forms = $this->embeddedForms;
if (isset($forms[$embed_token])) {
$stock_forms = $forms[$embed_token]->getEmbeddedForms();
// Get the stock values from request
$request_data = $this->getValue($embed_token);
foreach ($request_data as $name => $form) {
// Save form object
if (!isset($stock_forms[$name])) {
continue;
}
$stock_object = $stock_forms[$name]->getObject();
$stock_object->save();
$query = new Doctrine_Query();
// $stock_object->unlink('rtShopVariations', array(), true);
$query->delete('rtShopStockToVariation s2v')->where('s2v.stock_id = ?', $stock_object->getId())->execute();
$values = array();
foreach ($this->getAttributes() as $attribute) {
$tmp_val = $form['rt_shop_variations_list_' . $attribute->getId()];
$values[$tmp_val[0]] = $tmp_val[0];
}
$stock_object->link('rtShopVariations', array_values($values), true);
}
}
}
示例3: testDeleteWithLimitAndOffset
public function testDeleteWithLimitAndOffset()
{
$q = new Doctrine_Query();
$q->parseDqlQuery('DELETE FROM Entity LIMIT 10 OFFSET 20');
$this->assertEqual($q->getSqlQuery(), 'DELETE FROM entity LIMIT 10 OFFSET 20');
$q = new Doctrine_Query();
$q->delete()->from('Entity')->limit(10)->offset(20);
$this->assertEqual($q->getSqlQuery(), 'DELETE FROM entity LIMIT 10 OFFSET 20');
}
示例4: saveVariationSelections
public function saveVariationSelections()
{
return;
$request = sfContext::getInstance()->getRequest();
$full_data = $request->getParameter('rt_shop_product');
foreach ($full_data['currentStocks'] as $stock) {
if ($stock['id'] == $this->getObject()->getId()) {
$attributes = $this->getAttributes();
$values = array();
$query = new Doctrine_Query();
$query->delete('rtShopStockToVariation s2v')->where('s2v.stock_id = ?', $this->object->getId())->execute();
foreach ($attributes as $a) {
$tmp_val = $stock['rt_shop_variations_list_' . $a->getId()];
$values[] = $tmp_val[0];
}
$this->object->link('rtShopVariations', array_values($values), true);
}
}
}
示例5: removeAccess
/**
* removeAccess
* defines unified access removal strategy for users and groups
*
* Removes an access rule defined for this user.
*
* @param Koch_User|Koch_Group $record
* @param string $resource name of the resource
* @param string $permission name of the permission
*
* @return boolean True on success, false otherwise.
*/
public function removeAccess(Doctrine_Record $record, $resource = null, $permission = null)
{
// ensure $record is either object of type User or Group
if ($record instanceof Koch_User) {
$accessClass = 'Koch_Acl_UserAccess';
$linkField = 'user_id';
} elseif ($record instanceof Koch_Group) {
$accessClass = 'Koch_Acl_GroupAccess';
$linkField = 'group_id';
} else {
throw new Koch_Exception('Unknown object given to ACM.');
}
if ($permission === null) {
$permission = $this->getOption('global_permission');
}
if ($resource === null) {
$resource = $this->getOption('global_resource');
}
$rows = Doctrine_Query::delete()->from($accessClass . ' a')->where('a.' . $linkField . ' = ? AND a.resource_name = ? AND a.permission_name = ?')->execute(array($record->id, $resource, $permission));
return (bool) $rows;
}
示例6: executeUpdate
public function executeUpdate($request)
{
$time_values = $request->getParameter('time', array());
$user = UserTable::getInstance()->find($this->getUser()->getAttribute('uid'));
$this->time_values = $time_values;
for ($i = 1; $i <= 7; $i++) {
if (!array_key_exists($i, $time_values)) {
continue;
}
$projects = $time_values[$i];
$booking_timestamp = $request->getParameter('weekstart') + ($i - 1) * 24 * 60 * 60;
$booking_date = date("Y-m-d", $booking_timestamp);
if ($booking_timestamp < time()) {
foreach ($projects as $pid => $project) {
$query = new Doctrine_Query();
$query->delete('TimeLogItem ti')->where('ti.user_id=? AND ti.project_id=? AND ti.itemdate=?', array($this->getUser()->getAttribute('uid'), $pid, $booking_date))->execute();
for ($time_index = 0; $time_index < count($project['time']); $time_index++) {
$time_value = $project['time'][$time_index];
$time_type = $project['type'][$time_index];
$time_comment = $project['comment'][$time_index];
if ($time_value != "" && $time_value != 0) {
$type_query = new Doctrine_Query();
$type = $type_query->from('TimeItemType tit')->where('tit.name=?', array($time_type))->fetchOne();
$current_value = new TimeLogItem();
$current_value->value = $time_value;
$current_value->itemdate = $booking_date;
$current_value->user_id = $this->getUser()->getAttribute('uid');
$current_value->project_id = $pid;
$current_value->type_id = $type->id;
$current_value->note = $time_comment;
$current_value->save();
}
}
}
TimeLogItemTable::getInstance()->updateMissedBookings($booking_timestamp, $user);
}
}
$this->getUser()->setFlash('saved.success', 1);
$this->redirect('timesheet/index?year=' . $request->getParameter('year', date('Y')) . '&week=' . $request->getParameter('week', date('W')));
}
示例7: unlinkInDb
public function unlinkInDb($alias, $ids = array())
{
$q = new Doctrine_Query();
$rel = $this->getTable()->getRelation($alias);
if ($rel instanceof Doctrine_Relation_Association) {
$q->delete()->from($rel->getAssociationTable()->getComponentName())->where($rel->getLocal() . ' = ?', array_values($this->identifier()));
if (count($ids) > 0) {
$q->whereIn($rel->getForeign(), $ids);
}
$q->execute();
} else {
if ($rel instanceof Doctrine_Relation_ForeignKey) {
$q->update($rel->getTable()->getComponentName())->set($rel->getForeign(), '?', array(null))->addWhere($rel->getForeign() . ' = ?', array_values($this->identifier()));
if (count($ids) > 0) {
$q->whereIn($rel->getTable()->getIdentifier(), $ids);
}
$q->execute();
}
}
return $this;
}
示例8: unlink
/**
* unlink
* removes links from this record to given records
* if no ids are given, it removes all links
*
* @param string $alias related component alias
* @param array $ids the identifiers of the related records
* @return Doctrine_Record this object
*/
public function unlink($alias, $ids = array())
{
$ids = (array) $ids;
$q = new Doctrine_Query();
$rel = $this->getTable()->getRelation($alias);
if ($rel instanceof Doctrine_Relation_Association) {
$q->delete()->from($rel->getAssociationTable()->getComponentName())->where($rel->getLocal() . ' = ?', array_values($this->identifier()));
if (count($ids) > 0) {
$q->whereIn($rel->getForeign(), $ids);
}
$q->execute();
} else {
if ($rel instanceof Doctrine_Relation_ForeignKey) {
$q->update($rel->getTable()->getComponentName())->set($rel->getForeign(), '?', array(null))->addWhere($rel->getForeign() . ' = ?', array_values($this->identifier()));
if (count($ids) > 0) {
$q->whereIn($rel->getTable()->getIdentifier(), $ids);
}
$q->execute();
}
}
if (isset($this->_references[$alias])) {
foreach ($this->_references[$alias] as $k => $record) {
if (in_array(current($record->identifier()), $ids)) {
$this->_references[$alias]->remove($k);
}
}
$this->_references[$alias]->takeSnapshot();
}
return $this;
}
示例9: deleteComment
/**
* Deletes Comments
*
* @param unknown_type $cid
* @param unknown_type $xid
* @param unknown_type $aid
* @return Number of Rows Deleted
*/
public static function deleteComment($cid, $xid, $aid)
{
$q = new Doctrine_Query();
return $q->delete('RingsideComment')->from('RingsideComment c')->where("cid={$cid} AND xid='{$xid}' AND aid={$aid}")->execute();
}
示例10: deleteNetwork
/**
* Deletes a Trust Authority and a Users Network
*
* @param unknown_type $nid
*/
public static function deleteNetwork($nid)
{
$q = new Doctrine_Query();
$q->delete('RingsideRsTrustAuthority')->from('RingsideRsTrustAuthority a')->where("trust_key='{$nid}'")->execute();
$q = new Doctrine_Query();
return $q->delete('RingsideUsersNetwork')->from('RingsideUsersNetwork n')->where("network_id='{$nid}'")->execute();
}
示例11: deletePlan
public static function deletePlan($planId)
{
$q = new Doctrine_Query();
return $q->delete('RingsideSocialPayPlan')->from('RingsideSocialPayPlan p')->where("id = {$planId}")->execute();
}
示例12: loadDataFromArray
/**
* loadDataFromArray
*
* @param mixed $data
* @access public
* @return void
*/
public function loadDataFromArray($data)
{
$pendingRelations = array();
if ($data === null) {
// no data
return;
}
// only for pake_echo_action
require_once sfConfig::get('sf_symfony_lib_dir') . '/vendor/pake/pakeFunction.php';
foreach ($data as $class => $entries) {
pake_echo_action('Filling', sprintf('class "%s"', $class) . "\t");
// fetch a table object
$table = sfDoctrine::getTable($class, $this->connectionName);
$colNames = array_keys($table->getColumns());
$tableName = $table->getTableName();
// relation fields
$relations = $table->getRelations();
//echo "Class $class: ".implode(', ', array_keys($relations))."\n";
if ($this->deleteCurrentData) {
$q = new Doctrine_Query();
$q->delete()->from($class);
$q->execute();
}
// iterate through entries for this class
// might have been empty just for force a table to be emptied on import
if (is_array($entries)) {
foreach ($entries as $key => $columnAssignments) {
// create a new entry in the database
$obj = $table->create();
$now = date("Y-m-d H:i:s", time());
if ($obj->getTable()->hasColumn('created_at')) {
$obj->set('created_at', $now);
}
if (!is_array($columnAssignments)) {
throw new Exception('You must give a name for each fixture data entry');
}
foreach ($columnAssignments as $name => $value) {
$isRelation = isset($relations[$name]);
// foreign key?
if ($isRelation) {
$rel = $relations[$name];
// $relatedTable = $rel->getTable()->getTableName();
$localKey = $rel->getLocal();
$foreignKey = $rel->getForeign();
$pendingRelations[] = array($obj, $localKey, $foreignKey, $value);
} else {
// first check that the column exists
if (!in_array($name, $colNames)) {
$error = 'Column "%s" does not exist for class "%s"';
$error = sprintf($error, $name, $class);
throw new sfException($error);
}
$obj->rawSet($name, $value);
}
}
$obj->save();
// For progress meter
echo '.';
// save the id for future reference
$pk = $obj->obtainIdentifier();
if (isset($this->object_references[$key])) {
throw new sfException(sprintf('The key "%s" is not unique', $key));
}
$this->object_references[$key] = $pk;
}
}
echo "\n";
}
// now we take care of the pending relations
foreach ($pendingRelations as $pending) {
list($obj, $localKey, $foreignKey, $key) = $pending;
if (!isset($this->object_references[$key])) {
$error = 'No object with key "%s" is defined in your data file';
$error = sprintf($error, $key);
throw new sfException($error);
}
$foreignId = $this->object_references[$key][$foreignKey];
$obj->rawSet($localKey, $foreignId);
$obj->save();
}
}
示例13: delete
/**
* Deletes an Album
*
* @param unknown_type $aid
* @return unknown
*/
public static function delete($aid)
{
$q = new Doctrine_Query();
return $q->delete('RingsideAlbum')->from('RingsideAlbum a')->where("aid={$aid}")->execute();
}
示例14: deleteApp
/**
* Deletes an App
*
* @param unknown_type $aid
* @return unknown
*/
public static function deleteApp($id)
{
$q = new Doctrine_Query();
return $q->delete('RingsideApp')->from('RingsideApp a')->where("id = {$id}")->execute();
}