如果使用 Drupal 7 更新数据库中已存在的情况



我正在尝试更新我已经存在的记录,如果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();
}

而不是更新它在数据库中添加记录,我哪里出错了?

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

首先将数据更新到数据库中给出正确的数据。

在foreach((中,你可以渲染键>值类型数据。

- change this key(array('filename' => $name)) to  key(array('filename' => $value['filename']))

最新更新