where('subscriber_id', $subscriber_id) ->where('newsletter_id', $newsletter_id) ->where('queue_id', $queue_id) ->findOne(); if(!$statistics) { $statistics = self::create(); $statistics->link_id = $link_id; $statistics->subscriber_id = $subscriber_id; $statistics->newsletter_id = $newsletter_id; $statistics->queue_id = $queue_id; $statistics->count = 1; } else { $statistics->count++; } return $statistics->save(); } static function getAllForSubsciber(Subscriber $subscriber) { return static::table_alias('clicks') ->select('clicks.id', 'id') ->select('newsletter_rendered_subject') ->select('clicks.created_at', 'created_at') ->select('url') ->join( SendingQueue::$_table, array('clicks.queue_id', '=', 'queue.id'), 'queue' ) ->join( NewsletterLink::$_table, array('clicks.link_id', '=', 'link.id'), 'link' ) ->where('clicks.subscriber_id', $subscriber->id()) ->orderByAsc('url'); } }