Files
piratepoet/lib/Models/NewsletterLink.php
Pavel Dohnal 7d6f69ec1d Upgrade PHPStan level to 3
[MAILPOET-1915]
2019-03-21 14:02:59 -04:00

39 lines
903 B
PHP

<?php
namespace MailPoet\Models;
if (!defined('ABSPATH')) exit;
/**
* @property int $newsletter_id
* @property int $queue_id
* @property string $url
* @property string $hash
* @property int|null $clicksCount
*/
class NewsletterLink extends Model {
public static $_table = MP_NEWSLETTER_LINKS_TABLE;
/**
* @param Newsletter $newsletter
* @return NewsletterLink|null
*/
static function findTopLinkForNewsletter(Newsletter $newsletter) {
$link = self::selectExpr('links.*')
->selectExpr('count(*)', 'clicksCount')
->tableAlias('links')
->innerJoin(StatisticsClicks::$_table,
array('clicks.link_id', '=', 'links.id'),
'clicks')
->where('newsletter_id', $newsletter->id())
->groupBy('links.id')
->orderByDesc('clicksCount')
->limit(1)
->findOne();
if (!$link) {
return null;
}
return $link;
}
}