- Cleans up import

- Adds tests for modified models
- Adds tests for import BootStrapMenu and MailChimp classes
This commit is contained in:
MrCasual
2015-11-08 15:51:32 -05:00
parent b1ae07d38e
commit 33ea16eb0f
17 changed files with 5475 additions and 104 deletions

View File

@ -13,6 +13,7 @@ class SubscriberCustomField extends Model {
}
static function createMultiple($values) {
$values = array_map('array_values', $values);
return self::rawExecute(
'INSERT IGNORE INTO `' . self::$_table . '` ' .
'(custom_field_id, subscriber_id, value) ' .
@ -26,23 +27,24 @@ class SubscriberCustomField extends Model {
);
}
static function updateMultiple($subscribers) {
self::createMultiple($subscribers);
static function updateMultiple($values) {
self::createMultiple($values);
$values = array_map('array_values', $values);
self::rawExecute(
'UPDATE `' . self::$_table . '` ' .
'SET value = ' .
'(CASE ' .
str_repeat(
'WHEN custom_field_id = ? AND subscriber_id = ? THEN ? ',
count($subscribers)
count($values)
) .
'END) ' .
'WHERE subscriber_id IN (' .
implode(', ', Helpers::arrayColumn($subscribers, 1)) .
implode(', ', Helpers::arrayColumn($values, 1)) .
') AND custom_field_id IN (' .
implode(', ', array_unique(Helpers::arrayColumn($subscribers, 0)))
implode(', ', array_unique(Helpers::arrayColumn($values, 0)))
. ') ',
Helpers::flattenArray($subscribers)
Helpers::flattenArray($values)
);
}
}