db_select 将所有值发送给我,而不是我想要的
db_select send me all the values and not what I want
我想要的是检查变量是否 = 变量和时间戳 > 时间戳,如果这是真的,删除旧值并创建新值 我认为上面的代码只是创建所有值,因为它不会删除旧值.如何在创建新的同时删除旧的?
$query = db_select('watchdog', 'th')
->extend('PagerDefault')
->orderBy('wid')
->fields('th', array('variables', 'type', 'severity',
'message', 'wid', 'timestamp'))
->limit(2000);
// Fetch the result set.
$result = $query -> execute();
// Loop through each item and add to $row.
foreach ($result as $row) {
blabla($row);
}
function blabla($row)
$timestamp = $row -> timestamp;
$r = db_select('distinct', 'b')
->fields('b')
->condition('variables', $variables, '=')
->condition('timestamp', $timestamp, '>')
->execute();
if($r -> rowCount() == 0) {
$query = db_delete('error_log_jira')
->fields('b', array('timestamp', 'wid', 'variables',))
->execute();
$query = db_insert('distinct')
->fields(array(
'timestamp' => $timestamp,
'wid' => $wid,
'variables' => $variables,
))
->execute();
}
此代码完美运行
$r = db_select('blabla', 'b')
->fields('b')
->condition('variables', $variables, '=')
->execute();
您在代码示例中使用的是 <
(小于)而不是 >
(大于)。
$r = db_select('blabla', 'b')
->fields('b')
->condition('variables', $variables, '=')
->condition('timestamp', $timestamp, '>')
->execute();
如果要调试和查看执行的查询,可以使用 dpq()
函数(devel 模块的一部分):https://api.drupal.org/api/devel/devel.module/function/dpq/7
我想要的是检查变量是否 = 变量和时间戳 > 时间戳,如果这是真的,删除旧值并创建新值 我认为上面的代码只是创建所有值,因为它不会删除旧值.如何在创建新的同时删除旧的?
$query = db_select('watchdog', 'th')
->extend('PagerDefault')
->orderBy('wid')
->fields('th', array('variables', 'type', 'severity',
'message', 'wid', 'timestamp'))
->limit(2000);
// Fetch the result set.
$result = $query -> execute();
// Loop through each item and add to $row.
foreach ($result as $row) {
blabla($row);
}
function blabla($row)
$timestamp = $row -> timestamp;
$r = db_select('distinct', 'b')
->fields('b')
->condition('variables', $variables, '=')
->condition('timestamp', $timestamp, '>')
->execute();
if($r -> rowCount() == 0) {
$query = db_delete('error_log_jira')
->fields('b', array('timestamp', 'wid', 'variables',))
->execute();
$query = db_insert('distinct')
->fields(array(
'timestamp' => $timestamp,
'wid' => $wid,
'variables' => $variables,
))
->execute();
}
此代码完美运行
$r = db_select('blabla', 'b')
->fields('b')
->condition('variables', $variables, '=')
->execute();
您在代码示例中使用的是 <
(小于)而不是 >
(大于)。
$r = db_select('blabla', 'b')
->fields('b')
->condition('variables', $variables, '=')
->condition('timestamp', $timestamp, '>')
->execute();
如果要调试和查看执行的查询,可以使用 dpq()
函数(devel 模块的一部分):https://api.drupal.org/api/devel/devel.module/function/dpq/7