Как мы можем удалить поля из нескольких таблиц, используя db_delete()
и INNER JOIN
в Drupal 7?
9
Как мы можем удалить поля из нескольких таблиц, используя db_delete()
и INNER JOIN
в Drupal 7?
Ты не можешь, я боюсь.
db_delete()
принимает один строковый параметр, чтобы определить, к какой таблице будет выполняться запрос. Нет возможности предоставлять более одной таблицы за раз.
Вы можете запустить любой SQL-оператор, например, с помощью db_query()
, например.
// 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_delete
принимает один параметр, без разрешения псевдонима, раздражает. В противном случае можно было бы использовать JOIN, аналогичные db_select.Да, db_delete принимает один параметр. Вы должны позвонить
db_delete()
несколько раз, чтобы удалить данные из нескольких таблиц. Пожалуйста, посмотрите следующий пример кода:Ссылка на источник:
https://github.com/drupal/drupal/blob/7.x/modules/block/block.module
https://api.drupal.org/api/drupal/modules%21block%21block.module/ 7.x
источник