Db_delete () ব্যবহার করে একাধিক টেবিলগুলি থেকে মুছুন


9

আমরা কীভাবে একাধিক টেবিলগুলি ব্যবহার করে db_delete()এবং INNER JOINদ্রুপাল 7 এ ক্ষেত্রগুলি মুছতে পারি ?

উত্তর:


11

তুমি ভয় পাচ্ছিনা

db_delete()কোয়েরিটি কোন টেবিলের বিপরীতে চালানো হবে তা নির্ধারণ করতে একটি স্ট্রিং প্যারামিটার লাগে takes একসাথে একাধিক টেবিল সরবরাহ করার সুযোগ নেই।

আপনি 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একটি একক প্যারামিটার নেয়, কোনও উপাধির অনুমতি না দিয়ে বিরক্তিকর। অন্যথায়, db_select এর অনুরূপ JOIN গুলি ব্যবহার করা সম্ভব হবে।
আগি হামারথিফ

0

হ্যাঁ, db_delete একক প্যারামিটার নেয়। db_delete()একাধিক সারণী থেকে ডেটা মুছতে আপনাকে একাধিকবার কল করতে হবে । দয়া করে নীচের নমুনা কোডটি দেখুন:

/**
 * 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();
}

উত্স লিঙ্ক:
https://github.com/drupal/drupal/blob/7.x/modules/ block / block.module https://api.drupal.org/api/drupal/modules%21 block%21
block.module/ 7.x

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.