Files
piratepoet/lib/Models/StatsNotification.php
Pavel Dohnal ef5eba31d1 Add test
[MAILPOET-1571]
2019-01-28 10:56:01 +01:00

43 lines
906 B
PHP

<?php
namespace MailPoet\Models;
class StatsNotification extends Model {
public static $_table = MP_STATS_NOTIFICATIONS_TABLE;
/** @return Newsletter */
public function newsletter() {
return $this->hasOne(
Newsletter::class,
'id',
'newsletter_id'
);
}
/** @return StatsNotification */
static function createOrUpdate($data = array()) {
$model = null;
if(isset($data['id']) && (int)$data['id'] > 0) {
$model = static::findOne((int)$data['id']);
}
if(!$model && isset($data['task_id']) && $data['newsletter_id']) {
$model = self::where('newsletter_id', $data['newsletter_id'])
->where('task_id', $data['task_id'])
->findOne();
}
if(!$model) {
$model = static::create();
$model->hydrate($data);
} else {
unset($data['id']);
$model->set($data);
}
return $model->save();
}
}