обновить, если уже существует в базе данных, используя drupal 7 - PullRequest
0 голосов
/ 07 февраля 2020

Я пытаюсь обновить свою запись о том, что уже существует, и вставить, если она не существует, в drupal Ниже мой код:

       foreach ($array as $value) {
      $query = db_merge('network_drive_listing')
  ->key(array('filename' => $name))
  ->fields(array(
 'dirname' => $values['dirname'],
 'basename' => $value['basename'],
 'extension' => $value['extension'],
 'filename' => $value['filename'],
 'filetype' => $value['filetype'],
 'is_dir' => $value['is_dir'],
  ))->execute();
}

Вместо обновления добавления записей в базу данных, где я делаю не так>? Ваша помощь будет высоко оценена?

Ответы [ 2 ]

0 голосов
/ 22 февраля 2020

Прежде всего данные обновления в базе данных дают правильные данные.

В foreach () вы можете отобразить ключ-> данные типа значения.

- change this key(array('filename' => $name)) to  key(array('filename' => $value['filename']))
0 голосов
/ 07 февраля 2020

заменить $name на $value['filename'] на array('filename' => $name)

foreach ($array as $value) {
      $query = db_merge('network_drive_listing')
  ->key(array('filename' => $value['filename']))
  ->fields(array(
 'dirname' => $values['dirname'],
 'basename' => $value['basename'],
 'extension' => $value['extension'],
 'filename' => $value['filename'],
 'filetype' => $value['filetype'],
 'is_dir' => $value['is_dir'],
  ))->execute();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...