我如何避免看门狗的 distinct()?
How i can avoid the distinct() of watchdog?
我想避免在我的代码中使用 distinct()。我需要一些帮助来创建一个 table,它将保留从 db table 看门狗中获取的值,并检查是否已获取下一个值。如果下一个值在 table 中,则此值将不会插入 table 中...我需要一个真正的帮助,因为如果我提前解决这个 think.Thanks,我将结束我的模块!!
// Begin building the query.
$query = db_select('watchdog', 'th')
->extend('PagerDefault')
->orderBy('wid')
->distinct()
->fields('th', array('variables', 'type', 'severity', 'message', 'wid'))
->limit(2000);
// Fetch the result set.
$result = $query -> execute();
// Loop through each item and add to $row.
foreach ($result as $row) {
blablablabla($row);
}
}
我想要变量列的不同值。我不想要一个主题 table 我只想要一个带有一些值的 table。
在循环之前创建一些空数组。在循环内部检查其中是否存在唯一值。如果确实如此,则跳过该循环迭代(继续)。如果它没有将它存储在数组中并执行你的 blablabal();
// query without distingc
// print_r($results); print out array of results to see what field to take as unique
$already_processed = array();
foreach ($result as $row) {
$unique_value = $row['some_unique_field'];
if (in_array($unique_value, $already_processed)) continue;
$already_processed[] = $unique_value;
blablabla($row);
}
类似的东西。
我想避免在我的代码中使用 distinct()。我需要一些帮助来创建一个 table,它将保留从 db table 看门狗中获取的值,并检查是否已获取下一个值。如果下一个值在 table 中,则此值将不会插入 table 中...我需要一个真正的帮助,因为如果我提前解决这个 think.Thanks,我将结束我的模块!!
// Begin building the query.
$query = db_select('watchdog', 'th')
->extend('PagerDefault')
->orderBy('wid')
->distinct()
->fields('th', array('variables', 'type', 'severity', 'message', 'wid'))
->limit(2000);
// Fetch the result set.
$result = $query -> execute();
// Loop through each item and add to $row.
foreach ($result as $row) {
blablablabla($row);
}
}
我想要变量列的不同值。我不想要一个主题 table 我只想要一个带有一些值的 table。
在循环之前创建一些空数组。在循环内部检查其中是否存在唯一值。如果确实如此,则跳过该循环迭代(继续)。如果它没有将它存储在数组中并执行你的 blablabal();
// query without distingc
// print_r($results); print out array of results to see what field to take as unique
$already_processed = array();
foreach ($result as $row) {
$unique_value = $row['some_unique_field'];
if (in_array($unique_value, $already_processed)) continue;
$already_processed[] = $unique_value;
blablabla($row);
}
类似的东西。