¿Cómo podemos eliminar campos de varias tablas usando db_delete()y INNER JOINen Drupal 7?
                9
            
  
            ¿Cómo podemos eliminar campos de varias tablas usando db_delete()y INNER JOINen Drupal 7?
No puedes, tengo miedo.
db_delete()toma un solo parámetro de cadena para definir en qué tabla se ejecutará la consulta. No hay margen para proporcionar más de una tabla a la vez.
Sin embargo, puede ejecutar cualquier instrucción SQL que desee con db_query(), por ejemplo.
// Deletes all nodes and related author users...please don't actually run this!!
$sql = 'DELETE u, n FROM {node} n INNER JOIN {users} u ON u.uid = n.uid';
db_query($sql);
db_deletetoma un solo parámetro, sin permitir un alias, es molesto. De lo contrario, sería posible usar JOINs similares a db_select.Sí, db_delete toma un solo parámetro. Debe llamar
db_delete()varias veces para eliminar datos de varias tablas. Por favor vea el siguiente código de muestra:Enlace de origen:
https://github.com/drupal/drupal/blob/7.x/modules/block/block.module
https://api.drupal.org/api/drupal/modules%21block%21block.module/ 7.x
fuente