Drupal 7 如何在多个条件下使用db_delete?

Drupal 7 如何在多个条件下使用db_delete?,drupal-7,Drupal 7,我试图做一个类似“从ac_journal_term中删除,其中jid=$jid和tid=$tid” 我不认为这是正确的方法,但我在网上找不到如何使用db_delete执行多个条件的示例。db_delete遵循通常的条件约定 foreach ($form_state["values"]["existing_tags"] as $tid) { $and = db_and()->condition('jid', $jid)->condition('tid', $tid); db_d

我试图做一个类似“从ac_journal_term中删除,其中jid=$jid和tid=$tid”


我不认为这是正确的方法,但我在网上找不到如何使用db_delete执行多个条件的示例。

db_delete遵循通常的条件约定

foreach ($form_state["values"]["existing_tags"] as $tid)
{
  $and = db_and()->condition('jid', $jid)->condition('tid', $tid);
  db_delete('ac_journal_term') 
  ->condition($and)
  ->execute();
}
参见此处的条件条款文档:


如果您需要更多详细信息,请参阅以下链接。
这是block.module中的一个示例:

/**
 * Implements hook_menu_delete().
 */
function block_menu_delete($menu) {
  db_delete('block')
    ->condition('module', 'menu')
    ->condition('delta', $menu['menu_name'])
    ->execute();
  db_delete('block_role')
    ->condition('module', 'menu')
    ->condition('delta', $menu['menu_name'])
    ->execute();
}

Drupal的做法是-

db\u delete('ac\u journal\u term'))
->条件('jid',$jid)
->条件('tid',$tid)
->执行()

<?php
  foreach ($form_state["values"]["existing_tags"] as $tid){
    $and = db_and()->condition('jid', $jid)->condition('tid', $tid);
    db_delete('ac_journal_term')->condition($and)->execute();  
  }
    // Above translates to:
   DELETE FROM {ac_journal_term}  WHERE ( (jid = $jid) AND (tid = $tid) )
?>
/**
 * Implements hook_menu_delete().
 */
function block_menu_delete($menu) {
  db_delete('block')
    ->condition('module', 'menu')
    ->condition('delta', $menu['menu_name'])
    ->execute();
  db_delete('block_role')
    ->condition('module', 'menu')
    ->condition('delta', $menu['menu_name'])
    ->execute();
}