|
|
@@ -71,6 +71,29 @@ class SqlTable
|
|
|
return null;
|
|
|
}
|
|
|
|
|
|
+ if (! empty($options['on duplicate key updates'])) {
|
|
|
+ $options['on_duplicate_key_updates'] = $options['on duplicate key updates'];
|
|
|
+ }
|
|
|
+ if (! empty($options['on_duplicate_key_update'])) {
|
|
|
+ $options['on_duplicate_key_updates'] = $options['on_duplicate_key_update'];
|
|
|
+ }
|
|
|
+ if (! empty($options['on duplicate key update'])) {
|
|
|
+ $options['on_duplicate_key_updates'] = $options['on duplicate key update'];
|
|
|
+ }
|
|
|
+ if (! empty($options['on duplicate key'])) {
|
|
|
+ $options['on_duplicate_key_updates'] = $options['on duplicate key'];
|
|
|
+ }
|
|
|
+ if (! empty($options['on_duplicate_key'])) {
|
|
|
+ $options['on_duplicate_key_updates'] = $options['on_duplicate_key'];
|
|
|
+ }
|
|
|
+ if (! empty($options['on_duplicate'])) {
|
|
|
+ $options['on_duplicate_key_updates'] = $options['on_duplicate'];
|
|
|
+ }
|
|
|
+ if (! empty($options['on duplicate'])) {
|
|
|
+ $options['on_duplicate_key_updates'] = $options['on duplicate'];
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
$inserts_sql = implode(', ', $values_array);
|
|
|
|
|
|
$ignore_sql = empty($options['ignore']) ? '' : 'ignore';
|
|
|
@@ -202,6 +225,7 @@ class SqlTable
|
|
|
|
|
|
public function getAllWithFoundRows($where=null, $options=[]) /* : array */
|
|
|
{
|
|
|
+ $options['CALC_FOUND_ROWS'] = true;
|
|
|
$query = $this->buildQuery($where, $options);
|
|
|
|
|
|
if (! empty($options['dry'])) {
|
|
|
@@ -268,7 +292,7 @@ class SqlTable
|
|
|
$options['select'] = is_array($options['select']) ? $options['select'] : [$options['select']];
|
|
|
$select_sql = implode(', ', $options['select']);
|
|
|
}
|
|
|
- if (! empty($options['CALC_FOUND_ROWS'])) {
|
|
|
+ if (! empty($options['CALC_FOUND_ROWS']) && stripos($select_sql, 'SQL_CALC_FOUND_ROWS') === false) {
|
|
|
$select_sql = 'SQL_CALC_FOUND_ROWS ' . $select_sql;
|
|
|
}
|
|
|
if (! empty($options['where'])) {
|