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