gpt4 book ai didi

php - 检查数据库中的条目是否存在 - Drupal 7

转载 作者:搜寻专家 更新时间:2023-10-30 23:45:39 24 4
gpt4 key购买 nike

我制作了一个模块,当 cron 运行时,它从看门狗表中获取 wid 和变量以及时间戳,并将其传递到新表 blablabla 中。我想如果 blablabla 表中存在具有相同变量的值,则不要传递该值。以下是我的代码:

function blablabla_cron() {

// Begin building the query.
$query = db_select('watchdog', 'th')
->extend('PagerDefault')
->orderBy('wid')
->fields('th', array('wid', 'timestamp'))
->limit(2000);

// Fetch the result set.
$result = $query -> execute();

// Loop through each item and add to $row.
foreach ($result as $row) {
blablabla_table($row);
}
}

function error_log_jira_table($row) {

$timestamp = $row -> timestamp;
$wid = $row -> wid;
$variables = $row -> variables;

$nid = db_insert('error_log_jira')
->fields(array(
'timestamp' => $timestamp,
'wid' => $wid,
'variables' => $variables
))
->execute();
}

最佳答案

在写入数据之前,您需要查询表以查看数据是否存在,如果存在符合条件的行则什么也不做。例如;

function blablabla_cron() {

// Begin building the query.
$query = db_select('watchdog', 'th')
->extend('PagerDefault')
->orderBy('wid')
->fields('th', array('wid', 'timestamp', 'variables'))
->limit(2000);

// Fetch the result set.
$result = $query -> execute();

// Loop through each item and add to $row.
foreach ($result as $row) {

// Query Blablabla table for row matching timestamp and variables
$r = db_select('blablabla', 'b')
->fields('b')
->condition('timestamp', $row->timestamp, '=')
->condition('variables', $row->variables, '=')
->execute();

// If row doesn't exist then create it (I assume blablabla_table creates?)
if($r->rowCount() == 0) {
blablabla_table($row);
}
}
}

鉴于您在问题中缺少 blablabla_table() 函数,很难给出示例,我假设它写入 blablabla_table。将来提出没有占位符名称的问题。

关于php - 检查数据库中的条目是否存在 - Drupal 7,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29010705/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com